我有大约 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
。
您最好的选择可能是将其作为awk
变量传递-v
head -14 "$i" | awk -v blah="$blah" '$1 == blah {print $8}'
Run Code Online (Sandbox Code Playgroud)
或没有head
部分:
awk -v blah="$blah" 'NR > 14 {exit} $1 == blah {print $8}' "$i"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3380 次 |
最近记录: |