①替换标记
- root@localhost sed]# cat data4.txt
- This is a test of the test script.
- This is the second test of the test script.
- [root@localhost sed]# sed 's/test/trial/' data4.txt
- This is a trial of the test script.
- This is the second trial of the test script.
替换格式: s/pattern/replacement/flags
4种可用的替换标记:
数字:表明新闻本将替换第几处模式匹配的地方;
g,表明新文本将会替换所有匹配的文本;
p,表明原先行的内容要打印出来;
w file,将替换的结果写到文件中。
可以指定sed编辑器用新文本替换第几处模式匹配的地方。
- [root@localhost sed]# sed 's/test/trial/2' data4.txt
- This is a test of the trial script.
- This is the second test of the trial script.
用g替换标记,能替换全部
- [root@localhost sed]# sed 's/test/trial/g' data4.txt
- This is a trial of the trial script.
- This is the second trial of the trial script.
p替换标记会只打印修改过的行,和-n选项(禁止输出)一起使用。
- [root@localhost sed]# cat data5.txt
- This is a test line.
- This is a different line.
- [root@localhost sed]# sed -n 's/test/trial/p' data5.txt
- This is a trial line.
②替换字符
替换(/),可以用其他字符替换字符串分隔符
- [root@localhost sed]# sed -n 's!/bin/bash!/bin/csh!p' /etc/passwd
- root:x:0:0:root:/root:/bin/csh
- tq2440:x:500:500:tq2440:/home/tq2440:/bin/csh
- win:x:501:501::/home/win:/bin/csh
二、使用地址
sed有两种形式的行寻址:
①以数字形式表示行区间
②用文本模式来过滤出行
[address] command
1.数字方式的行寻址
- [root@localhost sed]# sed '2s/dog/cat/' data1.txt
- The quick brown fox jumps over the lazy dog.
- The quick brown fox jumps over the lazy cat.
- The quick brown fox jumps over the lazy dog.