AWK通过传递变量替换特定行的模式

时间:2012-05-28 21:47:25

标签: variables awk line

我正在尝试将两个变量传递给awk,以便在特定行处用空格( - “)替换单词( - v var1) (-v var2)。当我运行它时,在我想要的线路上没有任何东西被替换。

我的第一个做法是:

palabra=betina; i=5 ; awk -v var1="$i" -v var2="$palabra" 'NR==var1 {sub("var2"," ")}{print }' Countries > tmp
文件“国家/地区”上的

,内容为:

usa
usa
colombia
spain
betina

1 个答案:

答案 0 :(得分:5)

删除var2周围的引号,你应该很好。

palabra=betina; i=5 ; awk -v var1="$i" -v var2="$palabra" 'NR==var1 {sub(var2," ")}{print }' file