Bash

獲取記錄來自的文件名

  • May 28, 2019

我有大量.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

無需管道zcatgrep只需使用zgrep

zgrep NEW *.gz

預設情況下,當呼叫多個文件時,它會列印找到匹配項的文件的名稱。(它不會完全像您想要的輸出,但根據您的問題,它應該適合您的需求。)

只需在您的命令中添加-H標誌:zgrep

zgrep -H "ERROR" *.gz

引用自:https://unix.stackexchange.com/questions/220325