grep コンテキストを N 文字に制限する

grep コンテキストを N 文字に制限する

数千文字より長い行を含む一部のJSONファイルを特定する必要があります。一致する項目の左右に最大N文字までコンテキストを表示するようにgrepを制限するにはどうすればよいですか?一般的なLinuxパッケージで利用可能な限り、grep以外のすべてのツールが利用可能です。

これは出力例です。仮想のgrepスイッチF:

$ grep -r foo *
hello.txt: Once upon a time a big foo came out of the woods.

$ grep -Ф 10 -r foo *
hello.txt: ime a big foo came of t

ベストアンサー1

これを試してください:

grep -r -E -o ".{0,10}wantedText.{0,10}" *

- 金利拡張正規表現を使用するように指示します。

- モールド一致するものだけを印刷したいと言います。

-アル字型grep このフォルダで再帰的に結果を検索しています。

正規表現:

{0,10}印刷する任意の文字数を示します。

すべての文字を表します(文字自体は重要ではなく、数字のみが重要です)。

編集する:ああそうですね。 Josephが推奨するソリューションは私とほぼ同じです。 :D

おすすめ記事