在bash中从文件中删除一行

在bash中从文件中删除一行,bash,sed,Bash,Sed,我试图从文件中删除一行并更新文件以反映这一点。我正在python程序中运行bash命令。行删除在终端上起作用,但文件不会更新 subprocess.call("sed -e $d {}".format(self._path).split()) 如何更新文件,使其不再具有此行。应将-I标志添加到sed命令中,以在位编辑文件 关于BSD的sed: subprocess.call("sed -i '' -e $d {}".format(self._path).split()) 关于GNU的sed:

我试图从文件中删除一行并更新文件以反映这一点。我正在python程序中运行bash命令。行删除在终端上起作用,但文件不会更新

subprocess.call("sed -e $d {}".format(self._path).split())

如何更新文件,使其不再具有此行。

应将
-I
标志添加到sed命令中,以在位编辑文件

关于BSD的sed:

subprocess.call("sed -i '' -e $d {}".format(self._path).split())
关于GNU的sed:

subprocess.call("sed -i -e $d {}".format(self._path).split())

如果您在OSX上,您应该使用
-i'
(取自)