grep
удаляет имя файла, если есть только один файл:
grep "something" file.txt => you'll just see "something"
grep "something" *.txt => you'll see "file.txt : something"
Итак, лучший способ увидеть имя файла - это поверить, что grep
просматривает несколько файлов, например /dev/null
.
Поэтому я бы предложил вам заменить:
zipgrep -l -H "string" {} \;
по:
zipgrep -l -H "string" {} /dev/null \;
Очевидно, в /dev/null
ничего нет, но вы говорите grep
просмотреть два файла, поэтому он добавит имя файла.