我尝试打印奇数列,但是失败了!
awk '{for (i=1; i<=NF; i++) print $2*i-1}' file > test
但是它把所有内容都打印在一列里!
您能帮我吗?
谢谢
我尝试打印奇数列,但是失败了!
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
1
强制awk
对每行返回 true,从而实现打印每一行。与awk '{ for (i=2;i<=NF;i+=2) { $i="" } print $0 }' file > test
相同,只是更加 awkish。希望有所帮助。 - Steveprint $0
在每一列后面都添加了OFS
,即使该列包含空值。 - Marek Židekawk '{ for (i=1; i<=NF; i+=2) { r = (r ? r OFS : "") $i }; print r; r="" }' file
- Steve