2016-08-03 3 views
1

Чтобы напечатать сколько файлов были обработаныAwk - печать общего количества обработанных файлов

awk 'FNR==1{count++}END{print count,"files processed"}' # Kinda lengthy 

Есть более короткое доступное решение?

Также это не удается, если пустые файлы передаются? Любые обходные пути?

+0

Используйте 'c' вместо' count'? Что вы ожидаете? – hek2mgl

+0

@ hek2mgl: любое меньшее решение - это то, что я ожидаю. – sjsam

ответ

1

Крошечная улучшения, если вы используете GNU AWK и BEGINFILE, вы будете обрабатывать пустые файлы:

gawk 'BEGINFILE{print FILENAME}' *txt empty /dev/null 

Выходной

A.txt 
B.txt 
s.txt 
empty 
/dev/null 
+1

Только на Gawk 4.0+ – 123

+0

Я принимаю это Mark :) Thanyou – sjsam