問題
スペースの連続を削除したい。
test.sh
#!/bin/bash
echo ' abc' | sed 's/\s+//g'
echo ' abc' | sed 's/\s*//g'
echo ' abc' | sed 's/ +//g'
echo ' abc' | sed 's/ *//g'
結果
4番目だけ動く。
abc
abc
abc
abc
解決
-E
オプションで拡張正規表現を有効にしよう。
test.sh
#!/bin/bash
echo ' abc' | sed -E 's/\s+//g'
echo ' abc' | sed -E 's/\s*//g'
echo ' abc' | sed -E 's/ +//g'
echo ' abc' | sed -E 's/ *//g'
下の二つは動くようになる。
abc
abc
abc
abc
補足
本記事のコメントも参照のこと。(ありがとうございます)
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
メンター受付