sed的使用

一,替换文本

s/pattern/replacement/flags 

replacement会替换pattern

例如:

[root@node1 sed]# cat data2.txt 
This is a test of the test script.
This is the second test of the test script.
[root@node1 sed]# sed "s/test/demo/" data2.txt 
This is a demo of the test script.
This is the second demo of the test script.

flag:

数字 可选择替换第几个

g 替换所有
p 要打印修改行的内容
w file  将输出结果写入到文件中

[root@node1 sed]# sed "s/test/demo/2" data2.txt  数字2是指替换第二个
This is a test of the demo script.
This is the second test of the demo script.

[root@node1 sed]# sed 's/test/trial/w test' data2.txt

This is a trial of the test script.

This is the second trial of the test script.

[root@node1 sed]# cat test

This is a trial of the test script.

This is the second trial of the test script.

也可以替换掉字符不使用/,使用其他符号也是可以的,以防止冲突使用

 二,使用地址

数字形式显示区间

 如果我只想修改第2行的dog

sed '2s/dog/cat' data1.txt

sed '2,4s/dog/cat/' data1.txt  修改2-4行

 sed '2,$s/dog/cat/' data1.txt  修改第2行到尾行

 

 文本模式过滤出行

sed -n '/redhat/s/bash/csh/p' /etc/passwd  匹配redhat的行 并修改

三.删除行

 sed '3d' data4.txt

也可以模式匹配 进行删除。找到3然后删除

 

 四.插入和附加文本

插入是命令i  会在指定行前面增加新行

附加是命令a 会在指定行后面增加一个新行

 五.修改行

修改change/c命令

.

也可以使用模式匹配

六。转换命令

转换transform / y 

sed 'y/1234/abcd/' data4.txt

 

 这个转换会将所有匹配到的  全部进行转换 使用的时候要注意,而且是一一对应的,两个长度不一样也是语法错误

七。一些其他的指令

-f  处理输入时,将file中制定的命令添加到已有的命令中

-n 不产生命令输出,只能使用print命令来完成输出

-e 处理输入的时候,将命令添加到已有的命令中

= 显示行号 sed '=' file

list / l 列出行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值