文本三剑客-sed补充

sed-运用二

1.d:删除

(1)常用:

1.sed -n '3d;p' 123.txt #删除第三行

在这里插入图片描述

2.[root@test1 ~]# sed -n '2,4d;p' 123.txt #删除二到四行,再打印剩余内容。

在这里插入图片描述

3.[root@test1 ~]# sed -n '4,$d;p' 123.txt #删除4到最后一行

在这里插入图片描述

4. [root@test1 ~]# sed -n '4,6!d;p' 123.txt #除了4-6行全部删除

在这里插入图片描述

(2)匹配字符串删除:

1.[root@test1 ~]# sed '/ll/d' 123.txt #包含ll的行删除

在这里插入图片描述

2.[root@test1 ~]# sed '/one/,/five/d' 123.txt #包含one到包含five及他们中间的行删除。

在这里插入图片描述

2.替换:进行文件内容替换。

(1)常用选项:

选项作用
s替换字符串
c整行替换
y字符替换,替换前后的字符长度必须一致

(2)实操:

  • 字符替换:
1.[root@test1 ~]# sed -n 's/root/test/p' /etc/passwd #每行出现的第一个进行替换。

在这里插入图片描述

2.head -n 2 /etc/passwd | sed -n 's/root/test/2p' #把每行出现的第二个root进行替换。

在这里插入图片描述

3.head -n 2 /etc/passwd | sed -n 's/root/test/gp' #全量替换

在这里插入图片描述

4.sed -n '/^root/ s/^/#/p' /etc/passwd #指定root开头的行,加"#"注释。

在这里插入图片描述

5. [root@test1 ~]# sed -n 's/[a-z]/\U&/gp' 123.txt #文件中所有小写字母替换成大写字母。

在这里插入图片描述

6.[root@test1 ~]# sed 's/[A-Z]/\l&/gp' 123.txt  #文件中所有大写字母替换成小写字母。

在这里插入图片描述

7.[root@test1 ~]# sed 's/[a-z]/\u&/' 123.txt #将文件中所有首字母替换成大写字母。

在这里插入图片描述

  • 整行替换:

    [root@test1 ~]# sed '/one/c billkin' 123.txt #整行替换
    

    在这里插入图片描述

  • 单字符替换:

    [root@test1 ~]# sed 'y/o/k/' test.txt  #将文本中的o替换成k
    

    在这里插入图片描述

3.添加:

(1)常用选项:

选项作用
a在下一行添加内容
i在当前内容的上一行添加内容
r在行后添加内容

(2)实操:

1.[root@test1 ~]# sed '/three/a bkpp' 123.txt #在选定行的下一行添加指定内容。

在这里插入图片描述

2.[root@test1 ~]# sed '/three/i bkpp' 123.txt #在选定行的上一行添加指定内容。

在这里插入图片描述

3.[root@test1 ~]# sed '$i bkpp' 123.txt  #在最后一行和上一行中间添加内容。

在这里插入图片描述

4.[root@test1 ~]# sed '$a bkpp' 123.txt #在最后一行后面添加内容。

在这里插入图片描述

4.分组及位置替换:

(1)分组替换:

1. [root@test1 ~]# echo billkinpp | sed -r 's/(billkin)(pp)/\2\1/' #位置替换,前后替换

在这里插入图片描述

2.[root@test1 ~]# echo billkinppwang | sed -r 's/(billkin)(pp)(wang)/\2\3\1/' #位置替换

在这里插入图片描述

3.echo 马群耀林祎凯 | sed -r 's/(.)(.)(.)(.)(.)(.)/\6\5\4\3\2\1/'

在这里插入图片描述

(2)扩展:

1.将文件1中的内容替换成文件2:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.将文件1中的空格替换成#:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.补充:

(1)只保留所需出版号:

[root@test1 ~]# cat test1.txt | sed -r 's/(.*)-(.*)(\.jar)/\2/' 

在这里插入图片描述

在这里插入图片描述

(2)查看指定日期内的日志文件:

[root@test1 ~]# sed -n '/Jun  6 15:51:28/,/Jun  6 15:57:01/p' /var/log/messages

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值