假设我有一个字符串
"1,2,3,4"
现在我想替换,例如字符串的第3个字段由一些不同的值组成.
"1,NEW,4"
我设法使用以下命令执行此操作:
echo "1,4" | awk -F,-v OFS=,'{$3="NEW"; print }'
现在要替换的列的索引应该作为变量传递.所以在这种情况下
index=3
我怎么能把这个传递给awk?因为这不起作用:
echo "1,'{$index="NEW"; print }' echo "1,'{$($index)="NEW"; print }' echo "1,'{\$$index="NEW"; print }'
谢谢你的帮助!
让shell在awk程序中插入索引:
原文链接:https://www.f2er.com/bash/386979.htmlecho "1,'{$'$index'="NEW"; print }'
请注意原始单引号awk程序如何分为三部分,单引号开头'{$’,插值索引值,后跟程序的单引号余数.