当前位置: 技术问答>linux和unix
一个Linux下非常有用的Shell
来源: 互联网 发布时间:2016-02-26
本文导语: 一个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`...
一个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联系起来的呢?两个"`"符号是什么意思呢?请大侠赐教一下!
批量地查找并替换一个目录下所有文件中的字符串。
格式如下:
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联系起来的呢?两个"`"符号是什么意思呢?请大侠赐教一下!
|
-i是指inplace的意思,sed默认将输入文件的编辑结果输出到屏幕(或别的文件),如果想直接修改输入文件,就要加上 -i 参数。
"`" : 反引号(键盘上1左边的那个),将反引号中间的命令的输出结果作为后一个命令的输入,和pipe功能差不多
"`" : 反引号(键盘上1左边的那个),将反引号中间的命令的输出结果作为后一个命令的输入,和pipe功能差不多
|
mark