3.以下举例都以 quote.txt 为例
(
The honeysukle band played all night long for only $90.
It was an evening of splendid music and company.
Too bad the disco floor fell through ata 23:10.
The local nurse Miss P.Neave was in attendance.
)
1.打印 p
举例1:打印1到3行。
sed -n '1,3p' quote.txt
举例2: 打印匹配单词Neave
sed -n '/Neave/p' quote.txt
举例3:打印匹配单词the并在第4行
sed -n '4,/The/p' quote.txt
举例4:匹配任意字母,并以ing结尾,
sed -n '/.*ing/p' quote.txt
举例5:如果只打印行号及匹配行,必须使用两个
sed命令,并使用e选项。第一个命令打印模式
匹配行,第二个使用=选项打印行号,
格式为sed -n -e /pattern/p -e /pattern/=。
sed -n -e/'Neave/p' -e '/Neave/=' quote.txt
2.替换文本 s 格式 sed 's/old/new/[g/p/w/n]' 文件名
举例1:替换night为NIGHT
sed 's/night/NIGHT/' quote.txt
举例2:替换splendid为SPLENDID,并将替换行写入yanhai.txt
sed 's/splendid/SPLENDID/w yanhai.txt' quote.txt
举例3:[在new部分不写任何东西,保留空白,但仍需要用斜线括起来,
表示删除].
删除$符号($需要转义)
sed 's/\$//'
举例4:将替换的结果写入一个文件(yanhai.txt) 这里用到了/w
sed 's/splendid/SPLENDID/w yanhai.txt' quote.txt
注意:要将文件名括在sed的单引号里
举例5:替换修改字符串(这里个人的感觉更像是插入字符串)
格式:sed 's/old/new空格&' 文件名 [将new插在old前]
sed 's/old/&空格new' 文件名 [将new插在old后]
将"Hello"插入在nurse前
sed 's/nurse/"Hello" &' quote.txt
3.匹配后退出 p 格式 address q
举例1:查询首次出现模式,然后退出(需要将q放在sed'语句末尾)
sed '/.a.*/q' quote.txt作者: haimming 时间: 2009-12-10 21:43
学习一下
另,下面的说法不完全正确,因为现在的gnu新一点的版本,都有i参数,可以直接修改原文件