フォルダ内の圧縮ファイル内の文字列を全件検索【Linux コマンド】

  • LINEで送る
フォルダ内の複数の圧縮ファイル内の文字列を全件検索する

フォルダ内に複数の圧縮ファイルがある場合に,一気に文字列検索を行うコマンド.カレントディレクトリ中のファイルの指定文字列を正規表現を使って検索する.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

最新の投稿

SNSでもご購読できます。

コメントを残す