Получите имя файла, из которого записывается запись

У меня огромное количество файлов .gz , которые zcat вместе с помощью zcat .

Я ищу, чтобы узнать, откуда взялась каждая запись, как показано ниже:

File1:

 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 

Не нужно zcat в grep , просто используйте zgrep :

 zgrep NEW *.gz 

По умолчанию при вызове нескольких файлов он печатает имя файла, в котором найдено совпадение. (Это не будет точно так же, как и ваш желаемый результат, но на основе вашего вопроса он будет соответствовать вашим потребностям.)