22

各行の末尾にスペースがあるファイルを見つけるための bash コマンドを探しています。スペースを削除することには興味がありませんが、ファイルを見つけるだけです。

4

8 に答える 8

38

末尾にスペースがあるファイルを検索します。

find . -type f -exec egrep -l " +$" {} \;
于 2012-06-26T16:16:23.727 に答える
22

目的が、1 行以上の末尾に空白があるファイルを一覧表示することである場合:

grep -r '[[:blank:]]$' .

行を印刷せずにファイル名のみを印刷するには、-lオプションも指定します。それは数ではなくl言葉のようです。list1

于 2015-03-27T19:13:19.233 に答える
3

末尾に 1 つ以上の空白文字があるファイルを検索します。

find . -name "*" | xargs egrep ".* +$"
于 2012-06-26T15:03:58.663 に答える
2

どこにも一致しないファイルを一覧表示するオプションがあります。行末の直前のスペース以外の文字には、それと正規表現を使用してください。

grep -L '[^ ]$' *

ディレクトリを再帰するには、-r. 他の空白文字も検索するには、文字クラスまたは正規表現$'[^ \t]$'の POSIXを使用します。'[^[:blank:]]$'

于 2015-03-27T19:48:06.577 に答える
1

ack(または)を使用ag:

ack -l ' \n'

注: 他のいくつかの回答と同様に、これは、末尾にスペースがある 1 つ以上の行を含むファイルを一覧表示します。

于 2015-03-29T22:10:46.310 に答える
0

質問が文字通り、すべての行の最後に空白があるファイルを見つけることである場合、これは機能するはずです:

grep -rL '[^[:blank:]]$' .

は、パターンに一致しないすべてのファイルを報告するように-L指示grepし、パターンは改行の直前に空白がない行を探しています。

于 2015-03-27T19:51:11.320 に答える