grepは前後の20文字一致

grepは前後の20文字一致

問題は、試合が終わった後にあまりにも多くの情報を得ることです。

grep -RnisI --color=auto "pseudomonas" *

試合前後に20文字または10単語だけを取得したいと思います。

このようなタスクを実行するための正しいツールは何ですか?

答え1

cat file.txt | grep -o -P '.{0,20}string.{0,20}'

これはあなたに役立ちます

修正する:

猫が欲しくない場合は、grepを使用してファイルを引数として使用できます。

grep -o -P '.{0,20}pseudomonas.{0,20}' FileName.html

また、-P は Perl Regex を使用します。マニュアルページでは、これが実験的であると言います。そのフラグを避けるには、代わりにegrepを使用できます。

grep -Eo '.{0,20}yourstring.{0,20}' yourtestfile.txt

答え2

pcregrep -MnirIso '(?s).{0,20}pseudomonas.{0,20}' . |
  grep --color -e '^' -e pseudomonas

一致があり、そのコンテキストが重複しない、ファイル名にpseudomonas

また、報告される行番号は、コンテキストの先頭の行番号です。

関連情報