Para passar arquivos para awk
, podemos usar o shell globstar. -F
pode ser usado para definir um delimitador de campo, então -F'|'
é o que precisamos. E, na medida em que apenas obter a primeira linha, usar nextfile
é suficiente. Assim, podemos fazer:
awk -F'|' '{print FILENAME,$8;nextfile}' ./*
na pasta em que os arquivos estão localizados.
Deve-se notar que nextfile
pode não ser suportado. Por exemplo, como Stephane observou, o Debian e seus derivados vêm com uma versão antiga do mawk
, que não possui a opção nextfile
as. No caso em que você precisa ter mais código awk portátil, você pode aproveitar a variável FNR
. Por exemplo:
awk -F'|' 'FNR==1{print FILENAME,$8}' ./*