日期:2014-05-16  浏览次数:20578 次

linux 替换命令

一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下:?

?

  一、Mahuinan法:?

?

  用sed命令可以批量替换多个文件中的字符串。sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录`?

?

  例如:我要把mahuinan替换为huinanma,?

?

  执行命令:sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'?

?

  这是目前linux最简单的批量替换字符串命令了!?

?

?

  具体格式如下:?

?

  sed -i "s/oldString/newString/g" `grep oldString -rl /path`?

?

  实例代码:?

?

  sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl /usr/aa`?

?

  sed -i "s/大小多少/日月水火/g" `grep 大小多少 -rl ./`?

sed -i "s/rrimg.com/img.i.mop.com/g" `grep rrimg.com -rl kaixin_blog`

?

?

  二、Sumly法?

?

  执行命令:?

?

  perl -p -i -e "s/China/Sumly/g" /www/*.htm /www/*.txt?

?

  上面的意思是说将www文件夹下所有的htm和txt文件中的“China”都替换为“Sumly”?

perl -p -i -e "s/img.i.mop.com/rrimg.com/g" tt/*

?

  三、30T法?

?

  执行命令:?

?

  perl -pi -e 's|baidu|30T|g' `find /www -type f`?

?

  上面的意思是说将www文件夹下所有文件,不分扩展名,所有的“baidu”都替换为“30T”?

perl -pi -e 's|rrimg.com|img.imop.com|g' `find tt -type f`

?