Concatene varios archivos pero incluya el nombre del archivo como encabezados de sección

Resuelto Nick asked hace 13 años • 0 respuestas

Me gustaría concatenar varios archivos de texto en un archivo grande en la terminal. Sé que puedo hacer esto usando el comando cat. Sin embargo, me gustaría que el nombre de cada archivo preceda al "volcado de datos" de ese archivo. Alguien sabe cómo hacer esto?

lo que tengo actualmente:

file1.txt = bluemoongoodbeer

file2.txt = awesomepossum

file3.txt = hownowbrowncow

cat file1.txt file2.txt file3.txt

salida deseada:

file1

bluemoongoodbeer

file2

awesomepossum

file3

hownowbrowncow
Nick avatar May 07 '11 04:05 Nick
Aceptado

Estaba buscando lo mismo y encontré que esto sugiere:

tail -n +1 file1.txt file2.txt file3.txt

Producción:

==> file1.txt <==
<contents of file1.txt>

==> file2.txt <==
<contents of file2.txt>

==> file3.txt <==
<contents of file3.txt>

Si solo hay un archivo, el encabezado no se imprimirá. Si utiliza utilidades GNU, puede utilizarlas -vpara imprimir siempre un encabezado.

DS. avatar Oct 19 '2011 04:10 DS.

Usé grep para algo similar:

grep "" *.txt

No le proporciona un 'encabezado', pero antepone cada línea con el nombre del archivo.

Theo avatar Aug 30 '2012 10:08 Theo