Na verdade, não faz sentido ter um pipeline nesse caso, já que a primeira parte do pipeline não está produzindo entrada para a segunda parte, e a segunda parte não lê nada a partir da entrada padrão.
Em vez disso, use apenas
$ sort -o .file1 .file1
Isso classificará o arquivo .file1
"no lugar".
O que aconteceu quando você executou seu pipeline foi que o shell criou .file2
como um arquivo vazio e mv
teve tempo de substituir .file1
com isso antes que sort
conseguisse classificar o conteúdo de .file1
. Todas as partes de um pipeline são iniciadas simultaneamente.
Para recuperar, restaure a partir do backup.