圧縮ファイルで正規表現/パターン検索を実行するには?

圧縮ファイルで正規表現/パターン検索を実行するには?

圧縮ファイルで正規表現/パターン検索を使用する方法。たとえば、うーん...次を試してみましょう -

/usr/share/doc/linux-image-4.8.0-1-amd64$ zcat changelog.gz | less

今私が使用する方法は、/を使用してlessを介してコンテンツを読み取るために使用する名前または用語を見つけることですが、名前/用語が何度も繰り返されると正しく機能/拡張されません。

私も試してみました -

 /usr/share/doc/linux-image-4.8.0-1-amd64$ zcat changelog.gz | grep $search-term | less

名前/検索語はわかりますが、これまでの周辺状況と内容は不明です。

Changelog.gzを読んでいる間、検索語がn回繰り返されても強調表示されるようにする方法はありますか?

私の言葉の例https://gist.github.com/shirishag75/e1238c16d2d372c4cfc3f62e25da335a

ご覧のように、クエリ/正規表現を取得していますが、日付/時刻コンテキストがない場合は、変更が発生した時期を知らないと、多少意味がない可能性があります。

答え1

使用zgrep:

zgrep 'PATTERN' file.gz

less必要に応じてポケットベルに送信できます。

GNUシステム(Linux)では、色などの点でのzgrep動作はGNUに似ています。grep

各一致のコンテキストを取得するには、-C 5次のものを使用します(5行のコンテキスト)。


less一致も強調表示されます(offを使用しない限りデフォルトでは-G)。

zless -p 'PATTERN' file.gz

解凍されたファイルが開き、less検索されますPATTERNnファイルから次の一致に移動するか、N前の一致に戻るために使用されます。

答え2

コンテキストでカラーマッチングを解決して表示するには、--colorパラメータでgrep -Cを使用します。以下の例

gzip -dc changelog.gz | grep -C 5 --color $search-term

関連情報