在部署此文件之后,我试图在配置文件中进行替换内联。我查看了 sed 文档,但无法正常工作。即使使用 -e 现在我 mv 到 .back 文件,然后 sed 到文件,通过 rm 文件完成。我确信有一种更简单的方法可以做到这一点,但无法让它发挥作用。
谢谢
mv file.conf file.back sed s/string/anotherstring/file.back > file.conf rm file.back
如果您需要立即修改文件内容,您可以使用sed -e 's/your/expression/g' -i filename. 您可以-i.bak在发生任何更改之前添加一个备份原始文件。
添加,这sed是一个流编辑器,您更应该使用 edor ex。
更新示例:
[val0x00ff@localhost dir1]$ ls
file
[val0x00ff@localhost dir1]$ cat file
test
anothertest
hangethisLine/g
[val0x00ff@localhost dir1]$ sed -i.bak 's/test/substitute_to_this/g' file
[val0x00ff@localhost dir1]$ ls -l
total 8
-rw-rw-r-- 1 val0x00ff val0x00ff 62 Aug 28 14:59 file
-rw-rw-r-- 1 val0x00ff val0x00ff 34 Aug 28 14:58 file.bak
[val0x00ff@localhost dir1]$ cat file
substitute_to_this
anothersubstitute_to_this
hangethisLine/g
[val0x00ff@localhost dir1]$ cat file.bak
test
anothertest
hangethisLine/g
Run Code Online (Sandbox Code Playgroud)
了解如何-i.bak自动创建备份文件以防止我们意外覆盖文件。
有关 使用编辑器的示例,请参阅 lin http://wiki.bash-hackers.org/howto/edit-eded。