基本编辑命令
p 打印匹配行
sed [address[,address]]P
sed -n '2p' quoto.txt 打印第二行, -n显示打印定位行
sed -n '1,3p' quoto.txt 打印1到3行
sed -n '1,$'p quoto.txt 显示整个文件
sed -n '/pattern/'p quoto.txt 打印匹配模式
sed -n '4,/The/p' quoto.txt 使用模式和行号进行查询,第4行查找The
sed -n '/\$/'p quoto.txt 匹配元字符,使用反斜线
n打印行号
sed -e '/music/=' quoto.txt 整个文件打印,并且打印匹配行行号
sed -n '/music/=' quoto.txt 只打印行号
sed -n -e '/music/p' -e '/music/=' quoto.txt 打印行号和匹配行
附加文本
格式:
[adress] a\
text\
text
创建文本
$pg append.sed
#!/bin/sed -f
/company/ a\
Then suddenly it happened.
$chmod u+x append.sed
$append.sed quoto.txt
插入文本
#!/bin/sed -f
4 i\
Utter confusino followed.
插入位置在模式或指定行号之后
修改文本
[adress[,adress]] c\
text\
text
删除
sed '1d' quote.txt
sed '1,3d' quote.txt
sed '$d' quote.txt 删除最后一行
sed '/^$/d' 删除空行
sed '/Neave/d' quote.txt
替换文本
[address[,address]] s/pattern-to-find/ replacement-pattern/[g p w n]
sed 's/night/NIGHT' quote.txt
sed 's/\$// w sed.out' quote.txt -w定向输出到文本sed.out
-n 不打印输出
使用替换修改符
&保存发现模式以便重新调用
sed -n 's/nurse/"Hello" &/p' quoto.txt
匹配后退出
address q
sed '/.a.*/q' quote.txt
显示文件控制字符
sed -n '1,$l' func.txt
cat -v func.txt
例子
cat sql.txt | sed 's/--*//g' | sed '/^$/d' | sed '$d' | sed '1d' | awk '{print $1}'
sed 's/^[0-9]//g' UNH.txt 去掉行首数字
sed 's/[0-9][0-9]*/& Passed/g' ok.txt
echo $NAME | sed "s/go/GO/g"