shell 编程四剑客之SED
(1) SED 作用 sed 是一个非交互式的文本编辑器, 对比Vi(vim) 是一个交互式的编辑器 (2) SED 语法 sed [-option] [command] files 注释: sed 工具默认处理文本,文本内容输出屏幕已经修改,但是文件内容其实没有修改, 需要加i 参数彻底修改 (3) SED实战 SED 实战替换文本 <1> jfedu.txt文件中,将文件中所有的old,替换为new sed 's/old/new/g' jfedu.txt
<2> jfedu.txt文件中,将http://www.jd.com替换为http://www.baidu.com sed 's#http://www.jd.com#http://www.baidu.com#g' jfedu.txt SED 实战打印文本 <1> jfedu.txt文件中,打印第一行 sed -n '1p' jfedu.txt
<2> jfedu.txt文件中,打印1到3行 sed -n '1,3p' jfedu.txt <3> jfedu.txt文件中,打印最后一行 sed -n '$p' jfedu.txt
<4> jfedu.txt文件中,打印第一行与最后一行 sed -n '1p;$p' jfedu.txt <5> jfedu.txt 文件中,打印第一行到最后一行 sed -n '1,$p' jfedu.txt <6> jfedu.txt文件中,打印/linux/这一行 sed -n '/linux/p' jfedu.txt <7> jfedu.txt文件中,打印第一行与最后一行(用-e这个扩展参数实现) sed -n '1p' -e '$p' jfedu.txt
<8> jfedu.txt文件中,匹配/linux/这一行和/test/这一行,打印出来 sed -n '/linux/,/test/p' jfedu.txt <9> jfedu.txt文件中,匹配/linux/这一行到最后一行,打印出来 sed -n '/linux/,$p' jfedu.txt SED实战删除文本 <1> jfedu.txt文件中,删除第一行到第3行 sed '1,3d' jfedu.txt <2> jfedu.txt文件中,删除linux匹配行到最后一行 sed '/linux/,$d' jfedu.txt SED实战插入文本 <1> jfedu.txt文件中,查找/linux/这一行,并在下一行添加word字符 sed '/linux/aword' jfedu.txt <2> jfedu.txt文件中,查找/linux/这一行,并在上一行添加word字符 sed '/linux/iword' jfedu.txt <3> jfedu.txt文件中,查找/linux/这一行,在上一行添加word字符,在下一行添加word字符 sed -e '/linux/aword' -e '/linux/iword/' jfedu.txt <4> jfedu.txt文件中,查找以test结尾的行,并在其行尾添加word字符 sed 's/test$/&word/g' jfedu.txt <5> jfedu.txt文件中, 查找/www/所在行,在其行行首添加word字符 sed 'www/s/^/&word/g' jfedu.txt <6> jfedu.txt文件中,查找以com结尾的行,在行尾添加. 查找/mpt/所在行,在其行首添加. sed -e 's/com$/&./g' -e '/mpt/s/^/&./g' jfedu.txt <7> 用sed打印根 sed -n 's///p' <8> sed 读取变量,并进行替换 website=www.jfedu.net sed ''s/www.jd.com/$website/g'' jfedu.net (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |