这条线有效,直到我在第二个字段中有空格。svn status | grep '\!' | gawk '{print $2;}' > removedProjs有没有办法让awk打印出2美元或更高的价格?($ 3,$ 4 ..直到我们没有列?)我想我应该补充一点,我在Cygwin的Windows环境中这样做。
3 回答

繁花不似锦
TA贡献1851条经验 获得超4个赞
将打印所有但非常第一列:
awk '{$1=""; print $0}' somefile
将打印除第一列以外的所有列:
awk '{$1=$2=""; print $0}' somefile

胡说叔叔
TA贡献1804条经验 获得超8个赞
有一个重复的问题,使用cut 更简单的答案:
svn status | grep '\!' | cut -d\ -f2-
-d指定分隔符(空格),-f指定列的列表(全部以第2列开头)

达令说
TA贡献1821条经验 获得超6个赞
您可以使用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"}'
- 3 回答
- 0 关注
- 8253 浏览
添加回答
举报
0/150
提交
取消