追加用法总结
1.在匹配行后面追加 a
2.在匹配行前面追加 i
3.将文件内容追加到匹配行后面 r
4.将匹配行写入指定文件 w
1.在匹配行后面追加 a
test文件内容:
[root@prometheus01 ~]# cat test
AAAAA
new test!
ccc
345
dddddddd
ccc
hello world!
ee000
ffffffff
A1B1c1:
aaaaaa
bbbbbb
/bin/bash
test文件第10行后面追加“add line behind”
[root@prometheus01 ~]# sed '10aadd line behind' test
AAA
new test!
ccc
345
dddddddd
ccc
hello world!
ee000
ffffffff
A1B1c1:
add line behind
aaaaaa
bbbbbb
/bin/bash
test文件第10行到第14行,每一行后面都追加“test line behind”
[root@prometheus01 ~]# sed '10,14atest line behind' test
AAA
new test!
ccc
345
dddddddd
ccc
hello world!
ee000
ffffffff
A1B1c1:
test line behind
aaaaaa
test line behind
bbbbbb
test line behind
/bin/bash
test line behind
test文件匹配到/bin/bash的行后面追加"insert line for /bin/bash behind"
[root@prometheus01 ~]# sed '/\/bin\/bash/a insert line for /bin/bash behind' test
AAA
new test!
ccc
345
dddddddd
ccc
hello world!
ee000
ffffffff
A1B1c1:
aaaaaa
bbbbbb
/bin/bash
insert line for /bin/bash behind
2.在匹配行前面追加 i
test文件匹配到以hello开头的行,在匹配行前面追加“add line before”
sed '/^hello/i add line before' test
AAA
new test!
ccc
345
dddddddd
ccc
add line before
hello world!
ee000
ffffffff
A1B1c1:
aaaaaa
bbbbbb
/bin/bash
test文件每一行前面都追加“insert line before every line”
[root@prometheus01 ~]# sed 'i insert line before every line' test
insert line before every line
AAA
insert line before every line
new test!
insert line before every line
ccc
insert line before every line
345
insert line before every line
dddddddd
insert line before every line
ccc
insert line before every line
hello world!
insert line before every line
ee000
insert line before every line
ffffffff
insert line before every line
A1B1c1:
insert line before every line
aaaaaa
insert line before every line
bbbbbb
insert line before every line
/bin/bash
3.将文件内容追加到匹配行后面 r
将/etc/fstab文件的内容追加到test文件第10行后面
[root@prometheus01 ~]# sed '10r /etc/fstab' test
AAA
new test!
ccc
345
dddddddd
ccc
hello world!
ee000
ffffffff
A1B1c1:
#
# /etc/fstab
# Created by anaconda on Mon May 10 18:09:26 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=8ec8de38-0b33-4c49-b1df-b93e94499607 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
aaaaaa
bbbbbb
/bin/bash
将/etc/fstab文件追加到test文件匹配到/bin/bash行后面
[root@prometheus01 ~]# sed '/\/bin\/bash/r /etc/fstab' test
AAA
new test!
ccc
345
dddddddd
ccc
hello world!
ee000
ffffffff
A1B1c1:
aaaaaa
bbbbbb
/bin/bash
#
# /etc/fstab
# Created by anaconda on Mon May 10 18:09:26 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=8ec8de38-0b33-4c49-b1df-b93e94499607 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
将/etc/fstab文件内容追加到test文件中特定行后面,匹配以ee开头的行,到第10行的所有行
[root@prometheus01 ~]# sed '/^ee/,10r /etc/fstab' test
AAA
new test!
ccc
345
dddddddd
ccc
hello world!
ee000
#
# /etc/fstab
# Created by anaconda on Mon May 10 18:09:26 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=8ec8de38-0b33-4c49-b1df-b93e94499607 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
ffffffff
#
# /etc/fstab
# Created by anaconda on Mon May 10 18:09:26 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=8ec8de38-0b33-4c49-b1df-b93e94499607 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
A1B1c1:
#
# /etc/fstab
# Created by anaconda on Mon May 10 18:09:26 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=8ec8de38-0b33-4c49-b1df-b93e94499607 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
aaaaaa
bbbbbb
/bin/bash
4.将匹配行写入指定文件 w
将test文件中匹配到/bin/bash的行追加到sed文件中
[root@prometheus01 ~]# sed -i '/\/bin\/bash/w sed' test
[root@prometheus01 ~]# cat sed
/bin/bash
将test文件从第10行开始,到匹配到/bin/bash的所有行内容追加到sed-1中
[root@prometheus01 ~]# sed -i '10,/\/bin\/bash/w sed-1' test
[root@prometheus01 ~]# cat sed-1
A1B1c1:
aaaaaa
bbbbbb
/bin/bash
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)