shell 编程四剑客之SED
(1)SED 作用sed是一个非交互式的文本编辑器, 对比Vi(vim) 是一个交互式的编辑器
(2) SED 语法
sed[-option] files
注释:
sed 工具默认处理文本,文本内容输出屏幕已经修改,但是文件内容其实没有修改, 需要加i 参数彻底修改
(3) SED实战
SED 实战替换文本
jfedu.txt文件中,将文件中所有的old,替换为new
sed 's/old/new/g'jfedu.txt
jfedu.txt文件中,将http://www.jd.com替换为 http://www.baidu.com
sed's#http://www.jd.com#http://www.baidu.com#g' jfedu.txt
SED 实战打印文本
jfedu.txt文件中,打印第一行
sed-n'1p'jfedu.txt
jfedu.txt文件中,打印1到3行
sed -n '1,3p'jfedu.txt
jfedu.txt文件中,打印最后一行
sed -n'$p' jfedu.txt
jfedu.txt文件中,打印第一行与最后一行
sed -n'1p;$p' jfedu.txt
jfedu.txt 文件中,打印第一行到最后一行
sed -n '1,$p'jfedu.txt
jfedu.txt文件中,打印/linux/这一行
sed-n'/linux/p'jfedu.txt
jfedu.txt文件中,打印第一行与最后一行(用-e这个扩展参数实现)
sed-n '1p'-e'$p' jfedu.txt
jfedu.txt文件中,匹配/linux/这一行和/test/这一行,打印出来
sed-n'/linux/,/test/p'jfedu.txt
jfedu.txt文件中,匹配/linux/这一行到最后一行,打印出来
sed-n'/linux/,$p' jfedu.txt
SED实战删除文本
jfedu.txt文件中,删除第一行到第3行
sed '1,3d'jfedu.txt
jfedu.txt文件中,删除linux匹配行到最后一行
sed'/linux/,$d'jfedu.txt
SED实战插入文本
jfedu.txt文件中,查找/linux/这一行,并在下一行添加word字符
sed'/linux/aword'jfedu.txt
jfedu.txt文件中,查找/linux/这一行,并在上一行添加word字符
sed '/linux/iword'jfedu.txt
jfedu.txt文件中,查找/linux/这一行,在上一行添加word字符,在下一行添加word字符
sed-e '/linux/aword'-e'/linux/iword/'jfedu.txt
jfedu.txt文件中,查找以test结尾的行,并在其行尾添加word字符
sed 's/test$/&word/g'jfedu.txt
jfedu.txt文件中, 查找/www/所在行,在其行行首添加word字符
sed 'www/s/^/&word/g'jfedu.txt
jfedu.txt文件中,查找以com结尾的行,在行尾添加.查找/mpt/所在行,在其行首添加.
sed -e's/com$/&./g'-e'/mpt/s/^/&./g' jfedu.txt
用sed打印根
sed -n 's/\//p'
sed 读取变量,并进行替换
website=www.jfedu.net
sed''s/www.jd.com/$website/g''jfedu.net
页:
[1]