Macのターミナルで連続したスペースをsedで一つのスペースに変換する

表題の件について。

色々と調べたんですがうまく行かなかったです。

結論としてはsed -E 's/ +/ /g'でうまくいきました。

$ echo 'h        o            g e ' | sed -E 's/ +/ /g'

正規表現のオプションが-eだったり-rだったりあるらしいですが、MacOSのDarwinは-Eで行けるみたいですね。
preg的なスペースを意味する\sもうまく動きませんでした。
ちなみにiTerm2+Zshです。環境で違いそうな気がしています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする