首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

shell中把多个文件夹下的多个资料的内一个内容替换成另一个内容

2012-07-26 
shell中把多个文件夹下的多个文件的内一个内容替换成另一个内容sed -i s/contentType\text\/html/cont

shell中把多个文件夹下的多个文件的内一个内容替换成另一个内容

 sed -i 's/contentType="text\/html;/contentType="text\/vnd.wap.wml;/g' `grep -ril '<%@page contentType="text/html; charset=' /root/whp/pd/*`

?把所有的contentType="text\/html;的更新为contentType="text\/vnd.wap.wml;

?

grep前面与后面用的是tab键上面的那个字符。sed 后面的-i意思是在当前行进行操作。s/的意思是取代的意思,就是用后面的内容取代前面的字符。例如 s/old/new/g.的意思是用new来取代old的内容。text\/html的意思是让/取消其转义的功能。而只是把它当做一个/。

?

grep中的-r意思是要遍历所有的子目录。-i的意思是不区分大小写。-l是查询多文件时只输出包含匹配字符的文件名。

?

?

注意:在上面语句中操作时,如果grep查询的文件所在的目录或文件名有空格,那么就会报错。

sed: couldn't edit /root/whp/pd/: not a regular file? 意思是遇到了一个空开头的目录。系统认为它不是一个普通的文件。

热点排行