【发布时间】:2012-06-03 04:19:52
【问题描述】:
我正在尝试将两个变量传递给 awk,以便在特定行 用空格 (" ") 替换单词 (-v var1) (-v var2)。当我运行它时,我想要的行没有被替换。
我的第一个方法是:
palabra=betina; i=5 ; awk -v var1="$i" -v var2="$palabra" 'NR==var1 {sub("var2"," ")}{print }' Countries > tmp
关于文件“Countries”,内容为:
usa
usa
colombia
spain
betina
【问题讨论】:
-
在描述中,您说
var1是单词,var2是行,但在命令中您使用它们的方式相反。 -
与其显式编写
{print}的动作,不如使用1的模式更为惯用。例如'NR==var1 {sub("var2"," ")} 1'