我想在我的AWK(或GAWK)程序中使用一个变量来打印多个列。在AWK中使用字符串变量打印列
这是我在列命令行打印:
gawk -v cols=1,2,3 -f sample.awk -F,
我希望能够设置在我BEGIN{}
块这个变量,并在我的程序的主要部分使用它。
BEGIN{
split(cols, col_arr, FS)
i=1;
col_str = "$"col_arr[1];
for(col in col_arr){
if (i > 1){
col_str = col_str",$"col;
}
i++;
}
}
{
print col_str
}
但是,这只会打印“$ 1,$ 2,$ 3”。我怎样才能改变这个打印第1,2和3列?
如果你在BEGIN块中这样做,它将不起作用。 – 2014-10-03 04:26:35