gzで圧縮されたファイルから欲しい文字列の行数を数える

やりたいこと

gzで圧縮されたファイルから特定の文字列を探し出して、行数を数えたい

条件がいくつかあり

  • ファイルは当該ディレクトリの中に複数存在する
  • ディレクトリの中には見たいファイルの他にもいろんなファイルが存在する
  • ファイルはgzで圧縮されている

どう解決するか

まず欲しいファイルが複数あるので、その候補をしぼりこむ

これにはls | grep '目的のファイル名の一部'のコマンドにした

さらに、gzファイルの中身を検索するのに、zgrepコマンドを使う。

最終的に、コマンドはls | grep '欲しいファイル名の一部' | xargs zgrep '探したい文字列' | wcになった

参考