No puedo encontrar una forma de imprimir cada nombre de archivo antes de su contenido con cat
. Esto es lo que estoy tratando de hacer:mostrar el contenido de todos los archivos con sus nombres de archivo con cat
[email protected]:~/Perl/t$ ls
1.txt 2.txt 3.txt
[email protected]:~/Perl/t$ echo " I am " >> 1.txt
[email protected]:~/Perl/t$ echo " trying " >> 2.txt
[email protected]:~/Perl/t$ echo " to do this " >> 3.txt
[email protected]:~/Perl/t$ cat *.*
I am
trying
to do this
[email protected]:~/Perl/t$
En el último comando llegué sólo el texto de esos archivos, pero en realidad quiero que el texto junto con los nombres de los archivos. Me refiero a esto como
Filename:1.txt
<Data in the file>
Filename:2.txt
<Data in that file>
Filename:3.txt
<Data in that file >
esto se ve muy simple. ¿Puedo saber por qué lo mencionó? Después de 1 en el comando de cola. porque sin ellos obtuve el mismo resultado. ¿Hay alguna razón oculta? http://pastebin.com/1WgHAUZq –
Al menos para 'tail (GNU coreutils) 8.13', que debería ser' tail -n +1 - * .txt' porque 'tail -n 1' solo genera la última línea de cada archivo. Además, el '-' impide la interpretación como opciones de cualquier nombre de archivo que empiece por '-' –
O' grep^* 'imprimirá el nombre de archivo como el prefijo de cada línea de salida. – tripleee