站点图标 AI技术聚合

linux 中sed命令实现删除文件的任意列(操作代码)

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

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

Linux命令之sed的基本简单操作

1.sed的查操作

查看某一行

sed -n '5p' xxx.txt

查看某行到某行

sed -n '5,15p' xxx.txt

查看最后一行

sed -n '$p' xxx.txt

查看xxx.txt中以h开头的行

sed -n '/^h/p' xxx.txt

2.sed的删除操作

删除固定行

sed '2d' xxx.txt

删除某行到某行

sed '2,6d' xxx.txt

这里的删除只是将删除后的结果显示出来,并不是对文件某行真正的删除,如果要在文件中删除,可在sed后加上-i

3.sed的替换操作

替换某一行

sed '2s/原字符串/新字符串/g' xxx.txt

替换最后一行

sed '$s/原字符串/新字符串/g' xxx.txt

替换某行到某行

sed '2,$s/原字符串/新字符串/g' xxx.txt

这里的替换同删除一样,只是结果显示替换,文本中变化需要在sed后加-i

4.sed的添加操作

在所有行首添加hh

sed 's/^/hh&/g' xxx.txt

在所有行尾添加hh

sed 's/$/hh&/g' xxx.txt

在特定字符h前/后添加c

sed 's/h/c&/g' xxx.txtsed 's/h/&c/g' xxx.txt

到此这篇关于linux 中sed命令实现删除文件的任意列的文章就介绍到这了,更多相关linux sed命令删除文件内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!

退出移动版