Катить все файлы в папке, включая имя файла, используя цикл for?

С этим циклом, который я выполняю непосредственно в оболочке, я могу котировать содержимое всех файлов в папке со значением рядом с ним:

$ for f in *; do echo -e "\t"$f"\n"; cat $f; done 

Пример вывода:

 100 testfile1 testfile3 <-No output because this file is empty hello testfile2 

Но я хотел бы напечатать значение с правой стороны и файл в левом верхнем углу следующим образом:

 testfile1 100 testfile3 testfile2 hello 

Я попытался поменять положение эха и кошки, но это не работает, оно работает точно так же, как и другая команда.

 $ for f in *; cat $f; do echo -e "\t"$f"\n"; done 

Как я могу это достичь?

 for f in *; do printf '%s\n' "$f" paste /dev/null - < "$f" done 

Распечатал бы имя файла, за которым следует его содержимое, каждой строке, перед которой должен стоять символ TAB для каждого файла в каталоге.

То же самое с GNU awk :

 awk 'BEGINFILE{print FILENAME};{print "\t" $0}' ./* 

Или, чтобы избежать печати имени пустых файлов:

 awk 'FNR==1 {print FILENAME}; {print "\t" $0}' ./* 

Или с GNU sed :

 sed -s '1F;s/^/\t/' ./* 

Я нашел возможное решение:

 for f in *; do echo -e $f"\n\t$(cat $f)"; done