3
1|1001|399.00|123                                  
1|1001|29.99|234                                  
2|1002|98.00|345                                   
2|1002|29.98|456                                   
3|1003|399.00|567  
4|1004|234.56|456

我将如何使用 awk 来获取第 2 列中带有 '1002' 的所有行?

如果我想在第一列中获取所有带有“2”的行,我可以使用 grep ^2,但是如何按不同的列进行搜索?

4

1 回答 1

6

典型的解决方案是:

awk '$2 == 1002' FS=\| input-file

你会得到一个稍微不同的结果: $2 ~ 1002,它在技术上满足你的查询,但可能不是你想要的。(它会进行正则表达式匹配,因此如果第二列是“341002994”则匹配)。

于 2013-03-02T09:52:51.107 回答