我正在使用awk并且需要查找变量,在这种情况下$ 24包含单词3:2-如果是这样打印行(对于sed命令) - 变量可以包含更多的字母或空格或\ n。 ...... 对于前。
$24 == "3:2" {print "s/(inter = ).*/\\1\"" "3:2_pulldown" "\"/" >> NR }
在我的上一行中 - 它永远不会找到这样的字符串,尽管它存在。
你能帮我解决这个命令吗?答案 0 :(得分:4)
如果您在 $ 24内寻找“3:2”,那么您需要$24 ~ /3:2/
或index($24, "3:2") > 0
为什么使用awk生成sed脚本?
更新
要将变量从shell传递给awk,请使用-v选项:
val="3:2" # or however you determine this value
awk -v v="$val" '$24 ~ v {print}'
答案 1 :(得分:1)
awk '$24~/3:2/' file_name
这将在字段24中搜索“3:2”