for f in *; do
printf '%s\n' "$f"
paste /dev/null - < "$f"
done
Imprimiria o nome do arquivo seguido de seu conteúdo com cada linha precedida por um caractere TAB para cada arquivo no diretório.
Mesmo com o GNU awk
:
awk 'BEGINFILE{print FILENAME};{print "\t" $0}' ./*
Ou para evitar a impressão do nome de arquivos vazios:
awk 'FNR==1 {print FILENAME}; {print "\t" $0}' ./*
Ou com o GNU sed
:
sed -s '1F;s/^/\t/' ./*