./test2 将创建-6ren">
gpt4 book ai didi

linux - 一行 bash 脚本来编辑文件(不创建新文件)

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:37:09 25 4
gpt4 key购买 nike

我是 bash 脚本的新手,我正在尝试编写 bash 脚本来编辑配置文件。我想从文件中删除“foo”。

使用代码

echo
sed -e "s/ foo//" ./test > ./test2

将创建一个包含我想要的内容的新文件。但是如果我尝试使用这个编辑同一个文件

echo
sed -e "s/ foo//" ./test > ./test

文件将变为空。这不是方法吗?我怎样才能简单地编辑一个文件?谢谢。

最佳答案

这就是 -i 开关的用途:就地编辑:

sed -i -e "s/ foo//" ./test

-i 开关记录在 man sed 中:

-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)

对于 GNU sed (linux),省略后缀时不会创建备份。对于 sed 的其他版本,可能必须提供备份后缀。

关于linux - 一行 bash 脚本来编辑文件(不创建新文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26500166/

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