bash – 将sed/s/c/d /’myFile的输出重定向到myFile

前端之家收集整理的这篇文章主要介绍了bash – 将sed/s/c/d /’myFile的输出重定向到myFile前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在脚本中使用sed做一个替换,我想要替换的文件覆盖该文件。通常我认为你会用这个:
% sed -i 's/cat/dog/' manipulate
sed: illegal option -- i

但是,您可以看到我的sed没有该命令。

我试过这个:

% sed 's/cat/dog/' manipulate > manipulate

但这只是把操作变成一个空文件(有意义)。

这样做:

% sed 's/cat/dog/' manipulate > tmp; mv tmp manipulate

但是我想知道是否有一种标准的方法输出重定向到输入的相同文件中。

我通常使用第三种方式,但有一个重要的变化:

$ sed’s / cat / dog /’manipulate> tmp&&& mv tmp操纵

即改变到&&所以这个举动只有在sed成功的时候才会发生;否则,一旦在sed语法中输入错字,您将丢失原始文件

注意!对于那些阅读标题,缺少OP的约束“我的sed不支持-i”:对于大多数人来说,sed将支持-i,所以最好的方法是:

$ sed -i的/ cat / dog /’操纵

原文链接:https://www.f2er.com/bash/387514.html

猜你在找的Bash相关文章