テキスト内のスペースを見つける方法。グレブを使用しますか?

テキスト内のスペースを見つける方法。グレブを使用しますか?

テキストで空白を見つける方法は?

cat a.txt| grep ' '

または

cat a.txt| grep '\s '

答え1

質問にスペースを入力するには、次のコマンドを使用します。

grep -e '^\s[^\s]' -e '[^\s]\s$' -e '[^\s]\s[^\s]' a.txt

またはPOSIXバリアントの場合:

grep -e '^ [^ ]' -e '[^ ] $' -e '[^ ] [^ ]' a.txt

または読みにくいPOSIXバリアント:

grep '\(^\|[^ ]\)\ \([^ ]\|$)' a.txt

複数の隣接するスペースを含む行を除外する場合は、明示的に1つのスペースが必要で、前後にスペースは必要ありません。

また、すべてのgrepバージョンが '\ s'正規表現コントロールをサポートしているわけではないことも注目に値します。

答え2

私が見つけたと思います:

grep  "\+[[:space:]]\+" a.xml

答え3

バリアント 2 はスペースを 2 つだけ探します。反対方向に実行すると、'\s'両方の変形が機能します。

これを直接簡単にテストできますが、実際の問題は何ですか?

関連情報