改行以外のスペースを見つける方法は?

改行以外のスペースを見つける方法は?

今日は、ファイルのどの行に末尾のスペースが含まれているかを確認する必要があります。私は解決策を思い出しました。

grep -Enr --color "\s+$" ./

これはUnix以外の改行を含む行を除いてうまく機能します。

これらの改行は有効な一致と見なされます\s

OSXから除外する方法はgrep

ベストアンサー1

一致したくないと仮定すると、\rタブまたはスペースの後ろにのみ存在し、他のものは何も指定しない可能性があります。

grep -P '[\t ]$' file 

OSXを使用しているので、grepその機能がないので、次のことを-P試すことができます。

grep -E $'\t'"| $" file 

あるいは、POSIX 文字クラスを使用することもできます。

grep  '[[:blank:]]$' file

で説明されているように、man wctype文字[[:blank:]]クラスは "isblank(3) 分類関数を実装" で説明されているように、man isblank次のようになります。

   isblank()
      checks for a blank character; that is, a space or a tab.

最後に使用できる別のツールがあります。

    sed -n '/[\t ]$/p' file 
    perl -ne 'print if /[\t ]$/' file 

おすすめ記事