我正在尝试编写一个 awk 脚本,该脚本将获取一个文件,然后获取一个单词,然后如果第一个字段包含该单词,则仅输出第一个和第三个字段,到目前为止,我最接近的是
#!/usr/bin/awk -f
print $3,$1~/chevy/
但是这会输出所有两行,然后如果它们中包含单词,则在末尾放置 0 或 1。
答案1
awk 程序总是由模式-动作对组成。在你的例子中,{print $1,$3}
当记录与模式匹配时,你想要执行操作$1~/chevy/
。因此
#!/usr/bin/awk -f
$1~/chevy/ {print $1,$3}