linux shell

关注公众号 jb51net

关闭
首页 > 脚本专栏 > linux shell > linux sed命令删除文件

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

作者:小鲨鱼2018

这篇文章主要介绍了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命令删除文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文