文件内容被删除

文件内容被删除

我使用了这个命令:

sort .file1 >.file2 | mv .file2 .file1

但接下来.file1就是空了。

为什么?如果我的命令错误我该如何恢复?

答案1

在这种情况下,拥有管道实际上没有意义,因为管道的第一部分不会为第二部分生成输入,并且第二部分不会从标准输入读取任何内容。

相反,只需使用

$ sort -o .file1 .file1

.file1这将“就地”对文件进行排序。

当您运行管道时发生的情况是 shell 创建.file2为空文件,并且mv有时间替换.file1sort设法对.file1.管道的所有部分同时启动。

要恢复,请从备份恢复。

答案2

你应该做sort .file1 > .file2 && mv .file2 .file1。使用|管道,您只需传递已.file2重命名为的stdout.file1 What kind of file-system do you have on this /dev/sda1,但请注意,恢复可能是不可能的

相关内容