web-dev-qa-db-ja.com

x文字より長い文字列を含むファイルを検索するには、grepを使用しますか?

Xの長さより長い文字列(スペースなし)を持つディレクトリ内のファイルを見つけることは可能ですか?

7
sbuck

私は自分自身を正規表現のnoobと見なしていますが、可変長の文字列が含まれた一連のファイルを作成しました。

user@Host$ grep -e '[^\ ]\{7,\}' *


これをよく理解していない人のために:

-eは正規表現を使用してgrep検索を行います。 [^\ ]は、スペースを除く1文字と一致することを意味します。 \{7,\}は、7文字以上の文字列に一致することを意味します。別の数値を後に置くとすれば、7〜x文字の文字列になります。

20
maik

上記の例を機能させることができませんでした。 10000文字を超えるCSVファイルで行を検索していました。私はかなり混乱してこれを得ました... 9999文字より長い行を見つけてください...

grep -a -e '[^\ ]\{9999,\}' *.csv >../my-file.csv

これが本当に必要なことです。 CSVファイルの行が10000文字未満。 9999文字未満の行を検索する

grep -a -v -e '[^\ ]\{9999,\}' *.csv >../my-file.csv
0
Jon Bruce