Shell-Script
計算和合併連續模式
我正在尋找一個簡短的片段來使用標準工具或通用腳本語言來查找、計算和合併連續的重複項。
假設我們的輸入是:
1 2 2 2 7 22 a b b c c c c c d dd 2 2 c c
作為輸出,我們希望有類似的東西:
1 3*2 7 22 a 2*b 5*c d dd 2*2 2*c
保持順序並僅合併連續模式很重要。
這個怎麼樣:
printf '%s\n' 1 2 2 2 7 22 a b b c c c c c d dd 2 2 c c | uniq -c
輸出:
1 1 3 2 1 7 1 22 1 a 2 b 5 c 1 d 1 dd 2 2 2 c
它簡單易行(類似)。
要獲取您的格式:
printf '%s\n' 1 2 2 2 7 22 a b b c c c c c d dd 2 2 c c | uniq -c | sed 's/^ *//;s/^1 //;s/ /*/' | paste -sd' ' -