3

我试图将两个变量传递给 awk,以便在特定行(-v var2)用空格(" ")替换单词(-v var1 ) 。当我运行它时,我想要的行没有被替换。

我的第一种方法是:

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

在文件"Countries"上,内容是:

usa
usa
colombia
spain
betina
4

1 回答 1

5

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

palabra=betina; i=5 ; awk -v var1="$i" -v var2="$palabra" 'NR==var1 {sub(var2," ")}{print }' file
于 2012-05-28T21:53:26.710 回答