我的一个目录中有 31 个文件。文件格式如下:
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
我只想从中获取时间戳信息,并希望使用 Linux shell 脚本将所有时间戳写入一个文件中。文件总大小(31 个文件大小)为 4.5 GB。我想要有效的方法来完成这项任务。我已经在 python 中完成了这个。但希望它在 shell 脚本中。
答案1
使用awk
, 从包含文件的目录中:
awk 'FNR>1 {print $1}' * >output.txt
FNR>1
匹配每个文件中记录号大于 1 的所有记录,即删除每个文件中的标头对于这些记录,
{print $1}
仅打印第一个字段,即时间戳