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

一个Linux下非常有用的Shell
一个Linux下非常有用的Shell:
批量地查找并替换一个目录下所有文件中的字符串。
格式如下:
        sed   -i   "s/oldstring/newstring/g "   `grep   oldstring   -rl   yourdir`
例如:
        sed   -i   "s/cc.marine/your   boyfriend/g "   `grep   "cc.marine "   -rl   /home`
可是查了好多相关的文档还是没有搞明白其工作原理,其中的-i参数就是不知道是什么意思,而且后面的正则表达是通过pipe还是别的什么方式和前面的sed联系起来的呢?两个 "` "符号是什么意思呢?请大侠赐教一下!

------解决方案--------------------
`grep oldstring -rl yourdir`,把运行的结果作为sed的参数
sed的-i参数表示:edit files in place
------解决方案--------------------
``就是执行其中的命令 看下shell编程 里面有介绍
------解决方案--------------------
在shell编程中``符号可以用$( )替代。
------解决方案--------------------
又见SED