回答:
GNU grepおよびxargsの場合:
grep -rLZE '.{200}' . | xargs -r0 grep pattern
または、grepの出力をカットできます。
grep -r pattern . | cut -c1-"$COLUMNS"
または、サポートしている場合はテキストを折り返さないように端末に指示します。
tput rmam
grep -r pattern .
または使用する less -S
grep -r pattern . | less -S
オプション1: 特定のパターンに一致するファイルを除外できます。
grep --exclude='*.min.*'
これは除外されますscript.min.js
とstyle.min.css
...その他のgrep
オプションが含ま--exclude-from=FILE
と--exclude-dir=DIR
オプション2:
これが実用的かどうかはcut
わかりませんが、各行の最初の200文字を入力してから、次のgrep
ように入力できます。
grep -H [OPTIONS] PATTERN [FILE...] | cut -c1-200 | grep PATTERN
1つ目grep
は最初の一致を行い、ファイル名と行を出力します。2つ目PATTERN
はcut
、行を指定した後もファイルがまだ存在することを確認します。
... | grep -v -E '.{200}'
もできます。たとえば、現在のディレクトリの下に* .jsファイルのすべての行があり、「。name」が200文字以下である場合:find . -name "*.js" -exec grep -H \\.name {} \; | grep -v -E '.{200}'