【问题标题】:awk with $var as search pattern [closed]使用 $var 作为搜索模式的 awk [关闭]
【发布时间】:2021-02-09 16:36:49
【问题描述】:

我正面临一个问题,我希望 awk 搜索来自 bash 变量的模式... 现在看起来像:

for i in ${CLASS_LIST[*]}; do
cat log.txt | awk -F ":" '$1 ~ /$i/ {print substr($0, index($0,$2))}'
done

但是 awk 在这里没有输出。 如果我这样做:

cat log.txt | awk -F ":" '$1 ~ /LABEL/ {print substr($0, index($0,$2))}

效果很好……第一个例子有什么问题?

非常感谢您提前提供的帮助。 问候, 约尔格

【问题讨论】:

标签: variables search awk


【解决方案1】:

感谢您的提示,赛勒斯。我已经尝试了具有相同结果的“-v”选项。 但是我发现我的错误...

当给一个变量作为搜索模式时,不要把它打包到“/”中... 这对我有用:

for i in ${CLASS_LIST[*]}; do
cat log.txt | awk -v var="$i" -F ":" '$1 ~ var {print substr($0, index($0,$2))}'
done

问候, 约尔格

【讨论】:

    猜你喜欢
    • 2016-07-28
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多