在Linux中sed的输出将不会写入文件

可能重复:
Sed命令find并replace文件和覆盖文件不起作用,它清空文件!

好的,我有这个:

sed "s/^/getHtmlBody\(\"\/NmConsole\/Reports\/Workspace\/Virtualization\/WrVMwareHostList\/WrVMwareHostList.asp\?sGroupList=1'/g" out.bat | sed "s/$/\';--\");/g" >out.bat

正如你所看到的,我正在尝试out.bat,但由于某种原因无法正常工作 – 屏幕上没有任何显示,但没有任何内容写入文件。

我究竟做错了什么?

当Bash看到“> out.bat”时,它会截断该文件。 该文件现在是空的,所以sed没有找到任何行的开始和结束,没有任何东西被放入out.bat

小二郎的链接,以及由于codaddict的SO asnwer有一个很好的描述,加上方法来解决它。