用AWK打印列
问题描述:
我试图打印只有奇数列,但我不能!用AWK打印列
awk '{for (i=1; i<=NF; i++) print $2*i-1}' file > test
但它打印一列中的所有内容!
你能帮我吗?
谢谢
答
只需使用i+=2
:
awk '{ for (i=1;i<=NF;i+=2) print $i }' file > test
对于新的要求,才使空的 '偶数' 列:
awk '{ for (i=2;i<=NF;i+=2) $i="" }1' file > test
我只是觉得它,但另一个问题。一切都会在一列 – EpiMan
你能解释一下为什么你把1放在后面? – EpiMan
@MaryamSani:最后的'1'强制'awk'为每行返回true,从而启用每行的打印。这与'awk'相同(for(i = 2; i test'只会更加笨拙。 HTH。 – Steve