在Linux上,使用sed进行文本替换(从文件读取并保存到同一文件)

7 浏览
0 Comments

在Linux上,使用sed进行文本替换(从文件读取并保存到同一文件)

我想读取文件"teste",进行"查找和替换",然后用结果覆盖"teste"文件。到目前为止,我最接近的方法是:

$cat teste
我必须找到一些东西
这很难找到...
现在就找到它!
$sed -n 's/find/replace/w teste1' teste
$cat teste1
我必须替换一些东西
这很难替换...

如果我尝试保存到同一个文件,像这样:

$sed -n 's/find/replace/w teste' teste

或者:

$sed -n 's/find/replace/' teste > teste

结果将是一个空文件...

我知道我肯定漏掉了一些非常愚蠢的东西,但是任何帮助都将不胜感激。


更新:根据大家的建议和这个链接:http://idolinux.blogspot.com/2008/08/sed-in-place-edit.html,这是我的更新代码:

sed -i -e 's/find/replace/g' teste 

0