shell 命令怎么排除一列输出其他的列

1. 先看一下原始数据

[root@nfjd-model-240 common]$ cat test
a    aaaaaaaaa    111111    222222    333333    444444    555555    666666
b    bbbbbbbbb    111111    222222    333333    444444    555555    666666
c    ccccccccc    111111    222222    333333    444444    555555    666666
d    ddddddddd    111111    222222    333333    444444    555555    666666
e    eeeeeeeee    111111    222222    333333    444444    555555    666666
f    fffffffff    111111    222222    333333    444444    555555    666666
g    ggggggggg    111111    222222    333333    444444    555555    666666

2. 最开始找到的方法:https://blog.csdn.net/u010544187/article/details/54881398

[root@nfjd-model-240 common]$ awk -F '\t' '{$2="";print $0}' test
a 111111 222222 333333 444444 555555 666666
b 111111 222222 333333 444444 555555 666666
c 111111 222222 333333 444444 555555 666666
d 111111 222222 333333 444444 555555 666666
e 111111 222222 333333 444444 555555 666666
f 111111 222222 333333 444444 555555 666666
g 111111 222222 333333 444444 555555 666666

这种方法的缺陷:虽然踢掉了第2列,但是也把数据整体的分隔符换成了空格。

3. 用cut命令。

[root@nfjd-model-240 common]$ cut -d '    ' -f1,3- test
a    111111    222222    333333    444444    555555    666666
b    111111    222222    333333    444444    555555    666666
c    111111    222222    333333    444444    555555    666666
d    111111    222222    333333    444444    555555    666666
e    111111    222222    333333    444444    555555    666666
f    111111    222222    333333    444444    555555    666666
g    111111    222222    333333    444444    555555    666666

(1)-d 设置分隔符。注,如果是\t分隔符,不能写成cut -d '\t' ,需要(参考https://blog.csdn.net/bi_hu_man_wu/article/details/80445430)

      1) ctrl+v

      2)按Tab

      3)记得用‘’把tab引起来哦!

但是,cut命令默认的分隔符就是\t,所以平时不用-d指定(这里是jinjiao说的,感谢)

(2)-f 显示指定的第几个区域(用分隔符分隔后的第几列)

如果是排除掉第5列,可以写为

[root@nfjd-model-240 common]$ cut -d '    ' -f1-4,6- test

也可以写为(这里感谢jinjiao  http://man.linuxde.net/cut)

[root@nfjd-model-240 common]$ cut -f5 --complement test

即用--complement 选项提取指定字段之外的列。

 

你可能感兴趣的:(Shell,Linux)