如何使用 awk 在文件中搜索精确匹配项?
test.txt
hello10
hello100
hello1000
我尝试了以下操作,它返回所有 3 行
awk '$0 ~ /^hello10/{print;}' test.txt
grep -w hello10 可以解决这个问题,但在这个盒子上,grep 版本非常有限,只有很少的开关可用
最佳答案
要进行全行正则表达式匹配,您需要使用^
和$
anchor 定在行的开头和结尾:
$ awk '/^hello10$/' test.txt
hello10
但是除了我们刚刚添加的 anchor 之外,您实际上并没有使用任何正则表达式功能,这意味着您实际上需要简单的旧字符串比较:
$ awk '$0=="hello10"' test.txt
hello10
关于regex - 如何使用 awk 提取具有精确匹配的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17960758/