在命令行使用多个编辑器命令
要在sed命令行上执行多个命令时,只要用-e选项就可以了。
$ sed -e 's/brown/green/; s/dog/cat/' data.txt
The quick green fox jumps over the lazy cat.
The quick green fox jumps over the lazy cat.
The quick green fox jumps over the lazy cat.
The quick green fox jumps over the lazy cat.
$
两个命令都作用到文件中的每行数据上。命令之间必须用分号隔开,并且在命令末尾和分号之间不能有空格。 如果不想用分号,也可以用bash shell中的次提示符来分隔命令。只要输入第一个单引号标示出sed程序脚本的起始(sed编辑器命令列表),bash会继续提示输入更多命令,直到输入了标示结束的单引号。
$ sed -e '
> s/brown/green/
> s/fox/elephant/
> s/dog/cat/' data.txt
The quick green elephant jumps over the lazy cat.
The quick green elephant jumps over the lazy cat.
The quick green elephant jumps over the lazy cat.
The quick green elephant jumps over the lazy cat.
$
必须记住,要在封尾单引号所在行结束命令。bash shell一旦发现了封尾的单引号,就会执行命令。开始后,sed命令就会将指定的每条命令应用到文本文件中的每一行上。
|