Первая строка из нескольких файлов gz - PullRequest
0 голосов
/ 28 октября 2019

Я знаю, что есть несколько способов прочитать первую строку из файла gz, например:

gzcat abc.gz | head -n 1

или

gunzip -c abc.gz | awk 'NR==1 {print; exit}'

Однако у меня есть каталог со многимимного файлов gz, и я хочу получить заголовок для каждого файла (* .gz) с именем файла рядом с ним, например:

abc.gz: This is the first line of abc.txt def.gz: This is the first line of def.txt

Есть ли быстрый способсделать это?

[EDIT:] Спасибо за помощь! Ответы близки, но я просто хочу, чтобы рядом с каждым выводом первой строки было имя файла, чтобы я знал, какая строка идет с каким файлом.

1 Ответ

0 голосов
/ 28 октября 2019

Для "GNU" find используйте:

find . -name "*.gz" -exec sh -c "echo -n '{}: '; gzcat {}|head -1" \;
...