可能的重复:
在 awk 中使用脚本参数
我有一个脚本,其中有一个脚本片段
x=3
awk '$2=$x{print $1}' infile
Run Code Online (Sandbox Code Playgroud)
外部变量是 x,
但它在awk中提示错误
那么在这种情况下,如何让awk成功运行呢?
谢谢!
我想在某个 awk 字段上运行 basename 命令。
echo "1 /this/is/a/path" | awk '{print $1" "system("/usr/bin/basename " $2)}'
Run Code Online (Sandbox Code Playgroud)
但输出总是从系统命令产生 0。如何打印真实输出?
我有大约 1000 个文件,如果第一个字段匹配特定数字,我需要打印相应的第三个元素。由于下面的数字 7 不是常数,并且它基于前一个脚本的输出,因此当我尝试传递变量时,它失败了。
$cat ${i} | head -14 | awk '$1 == "7" {print $3}'
$Supervisor
$blah=7
$cat ${i} | head -14 | awk '$1 == "${blah}" {print $8}'
Run Code Online (Sandbox Code Playgroud)
我尝试使用其他组合来转义/扩展比较中的变量,但似乎没有一个能够扩展变量blah
。