テキストで空白を見つける方法は?
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'
両方の変形が機能します。
これを直接簡単にテストできますが、実際の問題は何ですか?