linux批量替换文件内容的办法

来源:互联网 发布:linux下kill tomcat 编辑:程序博客网 时间:2024/05/16 11:21

参考了网上的办法:

方法一:

范例:

    sed -i "s/21andy.com/www.21andy.com/g" `grep 21andy.com -rl ./`

    将./目录下所有文件中的“s/21andy.com”替换为“www.21andy.com”

    一定要注意的是:`grep 21andy.com -rl ./`括起来的不是单引号‘’,而是··。

方法二:

范例:

    # find -name *.php |xargs perl -pi -e 's|21andy.com|www.21andy.com|g';

 

贴一段鸟哥的关于xargs解释,明天再改了!!!

    xargs 是在做什么的呢?就以字面上的意义来看, x 是加减乘除的乘号,    args 则是 arguments (参数) 的
意思,所以说,这个玩意儿就是在产生某个指令的参数的意思! xargs 可以读入 stdin 的数据,并且以
空格符或断行字符作为分辨,将 stdin 的资料分隔成为 arguments 。 因为是以空格符作为分隔,所以,
如果有一些档名或者是其它意义的名词内含有空格符的时候, xargs 可能就会误判了~他的用法其实也还
满简单的!就来看一看先!

 

 学习oranges时用到的批量替换文件的命令:

    find ./ -name bochsrc -exec cp ../bochsrc {} /;

 

    {}表示命令的参数即为所找到的文件;命令的末尾必须以“/;“结束。