一、 更多的替换选项
①替换标记
-
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.
后面第二个test被替换掉了。
用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.
阅读(644) | 评论(0) | 转发(0) |