Centos gawk 命令行使用

Centos gawk 命令行使用

我尝试在 Centos 上运行以下命令,但出现错误? “(”附近出现意外标记

gawk { if($0=="id323"){print $0} } doc.txt

答案1

您需要将实际awk脚本放在强引号中,以防止 shell 在将命令传递到 之前看到它们并尝试解析它们awk

gawk '{ if( $0 == "id123"){ print $0 } }' doc.txt

顺便说一句,你可以更优雅地做到这一点:

gawk '$0 == "id123" { print $0 }' doc.txt

答案2

我不知道你想达到什么目的。这段代码只是让你知道是否有文档中包含 id323 的行。您不会从中获得任何进一步的信息。所以一个简单的 grep 就足够了。

此外:我认为给定的解决方案根本不正确。我认为它应该是:
gawk '$0 ~/id323/ { print $0 }' doc.txt
或者更短
gawk '$0 ~/id323/' doc.txt

相关内容