Analizar archivos en Linux: almacenar solo marcas de tiempo

Analizar archivos en Linux: almacenar solo marcas de tiempo

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>1coincide 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 archivo

  • Para esos registros, {print $1}imprime solo el primer campo, que son las marcas de tiempo.

información relacionada