gpt4 book ai didi

sed搜索并替换创建新文件

转载 作者:行者123 更新时间:2023-12-04 15:07:58 25 4
gpt4 key购买 nike

我正在尝试搜索和替换文件中的一些文本。创建一个新文件或覆盖现有文件都可以。

如果我用

sed -i 's/<texttoreplace>/<newtext>/g' foo.txt

我最终得到两个文件:
foo.txt 是修改后的文件
foo.txte 是原始的

如果我用
 sed -i 's/<texttoreplace>/<newtext>/g' foo.txt > bar.txt

我最终得到2个文件:
foo.txt 是未经修改的原始文件。
bar.txt 是0个字节。

我究竟做错了什么?我真的更喜欢只覆盖原始文件,这似乎应该是可以的。

最佳答案

为了使您的第二个示例正常工作,您明确要在其中创建第二个文件,只需删除-i标志。

sed 's/<texttoreplace>/<newtext>/g' foo.txt > bar.txt

您的第一个示例有点让人头疼。 -i标志使用原始内容的可选备份文件就地执行编辑。它对我来说很好用,而无需创建'.txte'文件。您可以使用以下语法,通过明确告诉它没有扩展名来使其工作:
sed -i'' 's/<texttoreplace>/<newtext>/g' foo.txt

您不必这样做,但也许您的环境中有一些与我的有所不同。

关于sed搜索并替换创建新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43214742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com