我想放弃前3列;
这是我的数据;
NullPointerException
我想要这样的数据:
DETAIL 02032017
Name Gender State School Class
A M Melaka SS D
B M Johor BB E
C F Pahang AA F
EOF 3
这是我当前的命令,我得到 mycommandoutput :
DETAIL 02032017
School Class
SS D
BB E
AA F
EOF 3
任何人都可以帮助我吗?
谢谢:)
我想删除前三列
答案 0 :(得分:0)
如果你只想删除前三列,你可以将它们设置为空字符串,只留下那些没有 三列的字符串,例如:
awk 'NF>=3 {$1=""; $2=""; $3=""; print; next}{print}'
这有一个令人讨厌的习惯,那就是在这些空字段之间仍然有字段分隔符,但是,因为修改列会重新格式化该行,我认为没问题:
DETAIL 02032017
School Class
SS D
BB E
AA F
EOF 3
如果awk
是用于处理它们的唯一工具,则间距不重要。如果您做想要保留格式(意味着列位于该行的非常特定的位置),您只需获取整行的子字符串:
awk '{if (NF>=3) {$0 = substr($0,25)}; print}'
由于这不会修改单个字段,因此不会触发重新计算会改变其格式的行:
DETAIL 02032017
School Class
SS D
BB E
AA F
EOF 3