使用awk打印从第n个到最后一个的所有列

这条线有效,直到我在第二个字段中有空格。


svn status | grep '\!' | gawk '{print $2;}' > removedProjs

有没有办法让awk打印出2美元或更高的价格?($ 3,$ 4 ..直到我们没有列?)


我想我应该补充一点,我在Cygwin的Windows环境中这样做。


jeck猫
浏览 8068回答 3
3回答

繁花不似锦

将打印所有但非常第一列:awk '{$1=""; print $0}' somefile将打印除第一列以外的所有列:awk '{$1=$2=""; print $0}' somefile

胡说叔叔

有一个重复的问题,使用cut 更简单的答案: svn status |  grep '\!' | cut -d\  -f2--d指定分隔符(空格),-f指定列的列表(全部以第2列开头)

达令说

您可以使用for循环遍历打印字段$ 2到$ NF(内置变量,表示行上的字段数)。编辑:由于“print”附加换行符,因此您需要缓冲结果:awk '{out=""; for(i=2;i<=NF;i++){out=out" "$i}; print out}'或者,使用printf:awk '{for(i=2;i<=NF;i++){printf "%s ", $i}; printf "\n"}'
打开App,查看更多内容
随时随地看视频慕课网APP