レコードソースのファイル名を取得します。

レコードソースのファイル名を取得します。

.gz圧縮されていない状態でzcat一緒に使用されるファイルがたくさんあります。

次の例のように、各レコードのソースから情報を取得したいと思います。

ファイル1:

1,2,3,4,5,6,7,NEW,9,10,11,12
13,14,15,55,884,66873,156,8

file1 から file10000 まで、次のコードを使用します。

zcat file.gz* | grep "NEW" 

必要な出力は次のようになります。

1,2,3,4,5,6,7,NEW,9,10,11,12 > file1

答え1

パイプする必要はありませんzcatgrep以下を使用してくださいzgrep

zgrep NEW *.gz

デフォルトでは、複数のファイルに対して呼び出されると、一致するものが見つかったファイル名を印刷します。 (必要な結果とまったく同じではありませんが、質問に応じて必要な作業を実行する必要があります。)

答え2

-Hコマンドにフラグを追加するだけですzgrep

zgrep -H "ERROR" *.gz

関連情報