フォルダ内に複数の圧縮ファイルがある場合に,一気に文字列検索を行うコマンド.カレントディレクトリ中のファイルの指定文字列を正規表現を使って検索する.zipファイルを解凍する必要はない.
コマンド
$find . -type f | xargs zgrep ${検索したい文字列}
フォルダ構成
カレントディレクトリに複数のzipファイルが入っていると想定する.
find
ファイルやディレクトリを検索するコマンド
$find . -type f
「-type f」を付けカレントディレクトリ内のファイルのみ対象とする
findのコマンド詳細は下記参照
ファイルなどを検索する!findコマンドの詳細まとめ【Linuxコマンド集】
https://eng-entrance.com/linux-command-find
xargs
findで取得したファイルはリストになって標準出力される.そのリストからコマンドラインを作成し,ファイル情報ごとに後続のコマンドを実行する.
xargsのコマンド詳細は下記参照
【 xargs 】コマンド――コマンドラインを作成して実行する
https://atmarkit.itmedia.co.jp/ait/articles/1801/19/news014.html
zgrep
圧縮されているファイルに対して,正規表現のパターンマッチングを用いて文字列の検索を行う.
出力はそのパターンが含まれる行を標準出力する.圧縮されていないファイルがxargsから送られてきても文字列の検索は可能
zgrepのコマンド詳細は下記参照
圧縮ファイルから文字列を検索するには
https://atmarkit.itmedia.co.jp/flinux/rensai/linuxtips/556searchzgrep.html