1、sed [options] {sed-commands}
{input-file}
如:sed -n
'p' /etc/passwd
2、使用sed命令文件的基本语法
sed
[options] -f {sed-commands-in-a-file} {input-file}
vi
test-script.sed
/^root/ p
/^nobody/
p
sed -n -f
test-script.sed /etc/passwd
执行结果:
3、当需要执行多个命令时,你可以使用-e,如下面的格式:
sed [options] -e
{sed-command-1} -e {sed-command-2} {input-file}
以下例子是打印/etc/passwd中以root和nobody开头的行
$sed -n -e '/^root/
p' -e '/^nobody/ p' /etc/passwd
执行结果与上例中使用sed文件一致。
此外,如果你需要执行大量的命令,可以使用反斜杠,如:
sed -n \
-e '/^root/
p' \
-e
'/^nobody/ p' \
/etc/passwd
也可以使用{}来将这些命令组合起来,如:
sed [options] '{sed-command-1sed-command-2}' input-file例子:
sed -n '{/^root/ p ;/^nobody/ p}' /etc/passwd
注意:sed不会修改源文件的内容,它只会把输出结果打印到标准输出流,如果你想要保存这个结果,你可以使用重定向的方式,如:>filename.txt
二、sed的工作流程
sed的工作流程分为以下几步:1、从模式空间中读入(一个交互的临时空间,它可以是从文件中读入的)
2、在模式空间中执行sed的命令。如果在[command]部分有多于一个的命令,可以通过一个sed文件(上面已经提到过这个文件),-e选项或者{
},sed会将模式空间中的内容按照[command]中的命令顺序来执行。3、打印模式空间中的内容。一旦打印完这一行,那么模式空间中这一行的内容将会被置空。
4、不断的重复上面三步,直到读到文件的末尾。
![]()
三、打印模式空间(p)
使用p命令,你可以打印当前模式空间中的内容。
employee.txt

employee.txt

employee.txt

- 微信扫码赞助
-
- 支付宝赞助
-