格式:sed options ‘[Address]Command;[Address]Command;…’ FILE
一,文本替换
1.在命令行定义编辑命令
2.在命令行上使用多个编辑器命令(-e)
用法:sed -e ‘s/bad/good/;s/cat/dog/‘ 文件**
3.从文件中读取编辑器命令(-f)
用法:sed -f /yyk/data1.sed /yyk/data1
4.更多的替换选项
- 替换标记:s/pattern/replacement/flag
数字:表明新文本将替换第几次模式匹配的地方
g:表示新文本将替换所有匹配的文本
p:表明原先行的内容并输出
w:将替换的结果写到文件中
- -n选项进制sed编辑器输出,与p搭配,则是将修改过的行输出出来。
实战:sed -n ‘s\cat\dog\p’ /yyk/data1
- 字符串分隔符(!):有时候替换文件的路径的时候,由于正斜线(/)用作分隔符,这时候地址,如/usr/bin/bash中的正斜杠就要反斜杠转义普通字符。但是如果用(!)作为分隔符号,name路径名就浅显易懂。
使用(\转义字符):sed ‘s/\/bin\/bash/\/bin\/csh/‘ /etc/passwd
推荐使用(!)作为分割符号:sed ‘s!/bin/bash!/bin/csh!’ /etc/passwd
二.使用地址替换
1.数字方式寻址
格式:sed ‘数字s/cat/dog’ 文件
实战:
- sed ‘2s/cat/dog/‘ /yyk/data1
- sed ‘2,3s/cat/dog/‘ /yyk/data1
- sed ‘2,$s/cat/dog/‘ /yyk/data1
2.文本过滤器
用法:/pattern/command
实战:sed ‘/yyk/s/bash/csh/‘ /etc/passwd
实战:sed ‘/yyk/s!bash!csh!’ /etc/passwd
三,删除行
用法:
- sed ‘3d’ 文件
- sed ‘2,3d’ 文件
- sed ‘2,$d’ 文件
- sed ‘/pattern/d’ 文件
四,插入命令
插入(insert)命令(i) :i\STR
附加(append)命令(a) :a\STR
修改(change)命令(c):c\STR
实战:
文本内容:
命令:
- sed ‘3i\i am handsome’ /yyk/data2
- sed ‘3a\i am handsome’ /yyk/data2
- sed ‘3c\i am handsome’ /yyk/data2
五,转换命令
用法:[addess]y/inchars/outchars
解释:一 一对应的转换
实战:echo “123456789” | sed ‘y/123/789/‘