我正在解析一些日志文件,并且只想提取日期和时间数据。日志文件是这样的:从bash中的字符串中提取日期和时间
2017-03-01 12:00:15.896 Sync DeliveryContacts: 00:00.011(00.011) end
2017-03-01 12:00:16.473 SyncTables(): 00:00.293(00.293) end
2017-03-01 12:02:48.636 00:00.000(00.000) end
编辑 - 这也是在文件中的可能行:
2017-03-01 12:00:15.896 Sync Delivery Contacts: 00:00.011(00.011) Started with predefined delay (10:00.000) end
我想获得这样的3列:
[YYYY-MM-DD] [hh:mm:ss.000] [mm:ss.000]
或:
2017-03-01 12:00:15.896 00:00.011
2017-03-01 12:00:16.473 00:00.293
2017-03-01 12:02:48.636 00:00.000
字符串将永远是星号t与DateTime(前2列),第二次数据将始终为9个字符长。
我曾尝试:
fgrep "end" *.txt -a/
| awk '{ print $1 " " $2 " " $4 }'
但仅适用于在我的例子中第二行。
我在想,我可以用awk得到前2列,但不知道如何得到3次列。
您不需要同时使用'fgrep'和'awk'。 –