sed编辑器不会修改文本文件,他只是将修改后的数据显示出来,如果查看原来的文本文件,它仍然保留的原始数据
只有当加上-i参数的时候,才能修改文本文件内容
1.在命令行中定义编辑器命令
echo "my name is Anna" | sed 's/is/is not/'
只替换每行的第一个
sed 's/is/is not/' test.txt
只替换每行的第二个
sed 's/is/is not/2' test.txt
替换第二行
sed '2s/is/is not/2' test.txt
替换二到四行
sed '2,4s/is/is not/2' test.txt
替换二到后面所有行
sed '2,$s/is/is not/2' test.txt
替换所有
sed 's/is/is not/g' test.txt
2.在命令行中使用多个编辑器命令
sed -e 's/is/is not/; s/make/pp/' test.txt
sed -e '
>s/is/is not/
>s/make/pp/' test.txt
在单行上执行多条命令
sed '2{
>s/is/is not/
>s/make/pp/}' test.txt
或
sed '2,${
>s/is/is not/
>s/make/pp/}' test.txt
3.从文件中读取编辑器命令
sed -f script1.sed test.txt
script1.sed文件内容如下
s/is/is not/
s/make/pp/'
4.只输出改变的行
sed -n 's/is/is not/p' test.txt
[n]:禁止sed编辑器输出
[p]:表明原先行的内容要打印出来
5.将输出保存到指定文件中
sed 's/is/is not/w test.sh' test.txt
[w file]:将替换结果写到文件中