sedで同じ文字の連続を圧縮して1文字にしたい
問題
例えば, hooooogeeeee を hogeにしたいのです.
解決策
このStack overflowの記事を参考にしました.
検索側でキャプチャパターンを使えばイケるらしいです. なるほど. キモいです.
やってみました. (.)\1+ で2文字以上の連続文字列になるんですね..
よく分かっていませんが, gsedなら欲しい結果が得られました.
$ echo hoooogeee | gsed 's/\([A-Za-z]\)\1\+/\1/g' hoge $ echo hoooogeee | sed 's/\([A-Za-z]\)\1\+/\1/g' hoooogeee
なるほど. wowoさんありがとうございました.
他の解決策
@kohse先生が教えて下さいました.
$ echo hoooogeeee | sed 's/\(.\)\1*/\1/g' hoge
なるほど. ありがとうございました.