gpt4 book ai didi

linux - awk:从文件中获取字符串时,Shell 变量未显示

转载 作者:行者123 更新时间:2023-12-04 18:43:07 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How do I use shell variables in an awk script?

(9 个回答)


去年关闭。




我有一个文件 location_data.py,其中包含一个字符串变量

loc = "somewhere-$xyz"
在我的 shell 中,我有一个值为 1 的变量名“xyz”。
当我做:
>loc=$(awk '/loc/{print $3}' location_data.py)
我明白了

"somewhere-${xyz}"


相反,我想要

"somewhere-1"


enter image description here

最佳答案

您需要将 shell 变量传递给 awk通过将其传递给 awk变量然后在 /.../ 内搜索也不会工作。
像这样使用:

locNew=$(awk -v locVar="$loc" '$0 ~ locVar{print $3}' location_data.py)
locNew=$(awk -v locVar="$loc" 'index($0,locVar){print $3}' location_data.py)
还可以尝试创建一个新的 shell 变量(作为一种良好的编程习惯),以防您以后想引用它们。

关于linux - awk:从文件中获取字符串时,Shell 变量未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67019421/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com