各行の終わりに末尾にスペースがあるファイルを見つけるためのbashコマンドを探しています。スペースを削除するのではなく、ファイルを見つけることに興味があります。
末尾にスペースがあるファイルを検索します。
find . -type f -exec egrep -l " +$" {} \;
目標が1行以上の末尾に空白があるファイルを一覧表示することである場合:
grep -r '[[:blank:]]$' .
行を印刷せず、ファイル名のみを印刷するには、-l
オプションも指定します。これは、Word l
のようにlist
であり、番号1
ではありません。
末尾にスペース文字が1つ以上あるファイルを検索します。
find . -name "*" | xargs egrep ".* +$"
どこにも一致が含まれていないファイルを一覧表示するオプションがあります。それと、行末の直前のスペース以外の文字の正規表現を使用します。
grep -L '[^ ]$' *
ディレクトリを再帰的に使用するには、-r
を追加します。他の空白文字も検索するには、正規表現に文字クラス$'[^ \t]$'
またはPOSIX'[^[:blank:]]$'
を使用します。
目標がファイルの一覧表示 with 末尾の空白 in 現在のパス:
grep -rli '[[:blank:]]$' .
これを試して :
find . -type f -name "* "
質問が文字通りすべての行の終わりに空白があるファイルを見つけることである場合、これは機能するはずです:
grep -rL '[^[:blank:]]$' .
-L
はgrep
に、パターンに一致しないすべてのファイルを報告するように指示し、パターンは改行の直前に空白がない行を探します。