我的encoder
程序对一段文本进行编码,并将编码后的文本打印到标准输出。但是当我这样做时:
cat file.txt | encoder > file.txt
所发生的情况是,所有的文本file.txt
都被完全删除,并且什么都没有留下。
为什么会出现这种情况?命令有问题吗?
注意:编码器没有问题。它工作得很好。我可以用
cat file.txt | encoder > file2.txt
答案1
你想要的sponge
;它在 moreutils 包中。
cat file.txt | encoder | sponge file.txt
答案2
你可以在 Ex 模式下使用 Vim:
ex -sc '%!encoder' -cx file.txt
%
选择所有行!
运行命令x
保存并关闭