
Tengo 31 archivos en un directorio. El formato del archivo es el siguiente:
TimeStamop user-id
1471417712595 1936f35c-XXXX-XXXX-XXXX-49898523b8ea
1471417717238 e3153e8d-XXXX-XXXX-XXXX-7710089c77bb
1471417718730 4e470320-XXXX-XXXX-XXXX-29bc448f09a1
1471417719211 e8b6a6c0-XXXX-XXXX-XXXX-dd68d836fb31
1471417723775 cbc009c1-XXXX-XXXX-XXXX-88cda2b1b812
1471417723775 cbc009c1-XXXX-XXXX-XXXX-88cda2b1b812
1471417725790 c332eba7-XXXX-XXXX-XXXX-509c42a621d1
1471417725522 4712acf1-XXXX-XXXX-XXXX-11a24bcbe7c8
1471417601920 502bc0dd-XXXX-XXXX-XXXX-eff38b468461
1471417604615 8c6b2ef9-XXXX-XXXX-XXXX-9efb1223e383
Solo quiero información de marca de tiempo y quiero escribir todas las marcas de tiempo en un archivo usando el script de shell de Linux. El tamaño total del archivo (31 archivos) es de 4,5 GB. Quiero un método eficiente para realizar esta tarea. He hecho esto en Python. pero lo quiero en un script de shell.
Respuesta1
Con awk
, desde el directorio que contiene los archivos:
awk 'FNR>1 {print $1}' * >output.txt
FNR>1
coincide con todos los registros con un número de registro mayor que 1 de cada archivo, es decir, esto es para eliminar el encabezado de cada archivoPara esos registros,
{print $1}
imprime solo el primer campo, que son las marcas de tiempo.