语法

sed [参数]

参数

参数 定义
-e或—expression 以选项中指定的script来处理输入的文本文件
-f或—file 以选项中指定的script文件来处理输入的文本文件
-h或—help 显示帮助
-n或—quiet或—silent 仅显示script处理后的结果
-V或—version 显示版本信息

示例

在file文件的第四行后添加一行,并将结果输出到标准输出

1
2
3
4
5
6
[root@dosbat ~]# sed -e 4a\newline file 
HELLO LINUX!
Linux is a free unix-type opterating system.
This is a linux testfile!
Linux test
newline

将 /dir 的内容列出并且列印行号,同时删除第 2~5 行

1
2
3
4
[root@dosbat ~]# nl /dir | sed '2,5d'
1 root:x:0:0:root:/root:/bin/bash
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

在第二行后面加入两行字,例如 Drink tea or ….. 与 drink beer

1
2
3
4
5
6
7
[root@dosbat ~]# nl /dir | sed '2a Drink tea or ......\
> drink beer ?'
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
Drink tea or ......
drink beer ?
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin

将第2-5行的内容取代成为No 2-5 number

1
2
3
4
[root@dosbat ~]# nl /dir | sed '2,5c No 2-5 number'
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync

以行为单位的显示

1
2
3
4
[root@dosbat ~]# nl /dir | sed -n '5,7p'
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown