如何查找子字符串是否在awk中的变量中

时间:2011-06-06 18:05:55

标签: awk

我正在使用awk并且需要查找变量,在这种情况下$ 24包含单词3:2-如果是这样打印行(对于sed命令) - 变量可以包含更多的字母或空格或\ n。 ...... 对于前。

$24 == "3:2" {print "s/(inter = ).*/\\1\"" "3:2_pulldown" "\"/" >> NR  }

在我的上一行中 - 它永远不会找到这样的字符串,尽管它存在。

你能帮我解决这个命令吗?

2 个答案:

答案 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”​​