如何避免使用 gsed 创建空文件?

如何避免使用 gsed 创建空文件?

大多数 sed 调用都会将其输出重定向到所需文件。这意味着,在实际调用 sed 之前,文件就已经创建了(由调用 shell 创建)...

这反过来意味着,如果 sed 没有任何内容可输出,则文件将为空......

有什么诀窍可以根本没有文件相反,在这种情况下?

我唯一能想到的就是在 sed 完成后检查文件,或者输出到临时文件并仅将其移动到位(如果不是空的)。

两者都很丑陋... 有更好的方法吗? 更喜欢通用解决方案,但 Linux 或 gsed 也可以。

答案1

sed 的w命令可能会有帮助。

man sed

w filename:将当前模式空间写入文件名。

相关内容