リピートされた文字を削除する処理が必要になったので、備忘で残しておく。 以下のように記述することで、sedで同じ文字がリピートされた場合は削除ができる。 なお、GNU Sedでしか動作しないので注意。

bash
echo aabbbbbbbbbcde | sed 's/\(.\)\1\+/\1/g' echo aabbbbbbbbbcde | sed -r 's/(.)\1+/\1/g' # エスケープなしにして分かりやすくした場合 echo aabbbbbbbbbcde | sed -r 's/(.)\1{1}/\1/g' # リピート回数を指定する場合({}のなかに入る数字はリピート回数-1)

shell
blacknon@BS-PUB-UBUNTU-01:~$ echo aabbbbbbbbbcde | sed 's/\(.\)\1\+/\1/g' abcde blacknon@BS-PUB-UBUNTU-01:~$ echo aabbbbbbbbbcde | sed -r 's/(.)\1+/\1/g' abcde blacknon@BS-PUB-UBUNTU-01:~$ echo aabbbbbbbbbcde | sed -r 's/(.)\1{1}/\1/g' abbbbbcde blacknon@BS-PUB-UBUNTU-01:~$ echo aabbbbbbbbbcde | sed -r 's/(.)\1{2}/\1/g' aabbbcde