使用AWK打印列

使用AWK打印列,awk,Awk,我试着只打印奇数列,但我不能 awk '{for (i=1; i<=NF; i++) print $2*i-1}' file > test awk'{for(i=1;i只需使用i+=2: awk '{ for (i=1;i<=NF;i+=2) print $i }' file > test awk'{for(i=1;我刚找到它,但另一个问题。所有内容都在一列中。请您解释一下为什么在}之后加上1?@MaryamSani:end上的1强制awk为每行返回true,从而允许

我试着只打印奇数列,但我不能

awk '{for (i=1; i<=NF; i++) print $2*i-1}' file > test

awk'{for(i=1;i只需使用
i+=2

awk '{ for (i=1;i<=NF;i+=2) print $i }' file > test

awk'{for(i=1;我刚找到它,但另一个问题。所有内容都在一列中。请您解释一下为什么在}之后加上1?@MaryamSani:end上的
1
强制
awk
为每行返回true,从而允许打印每行。这与:
awk'{for(i=2;一个小问题是,这个
print$0
在每个列之后添加
OFS
,即使是包含null的列。@MarekŽidek如果需要完全删除这些列,另一个解决方案是建立一个奇数列的记录,并在循环用完后将其打印出来:
awk'{for(i=1;i)
awk '{ for (i=2;i<=NF;i+=2) $i="" }1' file > test