在unix中使用awk搜索模式

时间:2016-12-13 11:15:20

标签: unix awk

我有一个3GB的文件。到目前为止,我正在打开文件并试图在距离当前时间20分钟之前插入一个模式。但是花费太多时间来模糊模式。有什么方法可以让它快速.Below是我的文件格式:

08:25:26 <Some text>
08:25:26 <Some text>
08:25:26 <Some text>
08:25:26 <Some text>
08:25:27 TxnEngine
08:25:27 <Some text>
08:25:27 <Some text>

截至目前我在下面使用:

grep TxnEngine <FileName>  2>/dev/null

请帮助我如何使用awk快速完成此任务。

1 个答案:

答案 0 :(得分:0)

grepawk都逐行处理。所以你可能没有看到两者的表现有太大差异。

但是,由于您确定TxnEngine是一行中的第二个字,因此您可以使用awk编写更好的搜索

$ awk '$2 == "TxnEngine"' filename

这里我们只将第二个单词与TxnEngine进行比较,我们进行字符串匹配而不是正则表达式匹配,这应该会使它更快。

Awk使您可以灵活地有选择地比较不同的字段,而不是搜索整行。