Concatene varios archivos pero incluya el nombre del archivo como encabezados de sección
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
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 -v
para imprimir siempre un encabezado.
Usé grep para algo similar:
grep "" *.txt
No le proporciona un 'encabezado', pero antepone cada línea con el nombre del archivo.