linux 中sed命令实现删除文件的任意列

发布时间 2023-06-12 10:30:57作者: 小鲨鱼2018

 

001、删除文件的第一列

[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt                     ## 测试数据
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[root@PC1 test03]# sed 's/^\S\+\s//' a.txt      ## 删除文件的第一列
02 03 04 05
07 08 09 10
12 13 14 15
17 18 19 20

 

02、删除文件中间的任意一列

[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[root@PC1 test03]# sed 's/\S\+\s//2' a.txt       ## 删除文件的第二列
01 03 04 05
06 08 09 10
11 13 14 15
16 18 19 20

 

03、删除文件的最后一列

[root@PC1 test03]# ls
a.txt
[root@PC1 test03]# cat a.txt
01 02 03 04 05
06 07 08 09 10
11 12 13 14 15
16 17 18 19 20
[root@PC1 test03]# sed 's/\s\S\+$//' a.txt         ## 删除文件最后一列
01 02 03 04
06 07 08 09
11 12 13 14
16 17 18 19