为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

jeck猫 2019-09-18 15:00:19
这条线有效,直到我在第二个字段中有空格。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


查看完整回答
反对 回复 2019-09-18
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

有一个重复的问题,使用cut 更简单的答案:


 svn status |  grep '\!' | cut -d\  -f2-

-d指定分隔符(空格),-f指定列的列表(全部以第2列开头)


查看完整回答
反对 回复 2019-09-18
?
达令说

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"}'


查看完整回答
反对 回复 2019-09-18
  • 3 回答
  • 0 关注
  • 8253 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信