bash – 将sed/s/c/d /’myFile的输出重定向到myFile
发布时间:2020-12-15 19:09:49 所属栏目:安全 来源:网络整理
导读:我在脚本中使用sed做一个替换,我想要替换的文件覆盖该文件。通常我认为你会用这个: % sed -i 's/cat/dog/' manipulatesed: illegal option -- i 但是,您可以看到我的sed没有该命令。 我试过这个: % sed 's/cat/dog/' manipulate manipulate 但这只是把操
我在脚本中使用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 /’操纵 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |