Analisar arquivo no linux: armazenar apenas carimbos de data e hora

1

Eu tenho 31 arquivos em um diretório. O formato do arquivo é o seguinte:

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

Eu só quero informações de timestamp e quero escrever todos os timestamps em um arquivo usando o shell script linux. O tamanho total do arquivo (31 arquivos) é de 4,5 GB. Eu quero um método eficiente para fazer essa tarefa. Eu fiz isso em python. mas quer no script de shell.

    
por KrunalParmar 23.10.2016 / 22:56

1 resposta

1

Com awk , do diretório que contém os arquivos:

awk 'FNR>1 {print $1}' * >output.txt
  • FNR>1 corresponde a todos os registros com número de registro maior que 1 de cada arquivo, ou seja, para se livrar do cabeçalho de cada arquivo

  • Para esses registros, {print $1} imprime apenas o primeiro campo, que são os registros de data e hora

por 23.10.2016 / 23:05