我们可以使用命令行的-v选项来传递变量到AWK脚本中。具体示例如下:
# 假设我们有一个名为input.txt的文件,其中包含以下内容:
# Hello world
# Goodbye world
# 传递变量并使用过滤器
var="Hello"
awk -v v="$var" '$0 ~ v' input.txt
# 输出:Hello world
# 使用传递的变量进行替换
var="world"
awk -v v="$var" '{ gsub(v, "planet"); print $0 }' input.txt
# 输出:
# Hello planet
# Goodbye planet
在第一个示例中,我们使用-v选项传递了Bash变量$v$到AWK脚本中,并使用过滤器来查找包含$v$的行。
在第二个示例中,我们使用-v选项传递了Bash变量$v$到AWK脚本中,并使用了gsub()函数来替换$v$出现的所有实例,并将其替换为“planet”。
上一篇:awk中变量赋值之前的变量评估
下一篇:awk中处理选项的强大方法