Normalmente, usamos um arquivo diferente para redirecionar a saída.
Por exemplo :
cat < first > temp
Neste comando, o conteúdo do primeiro é redirecionado para temp em vez da saída padrão.
Então, por que ele trunca o arquivo se eu uso o mesmo nome?
Por que não pode substituir o mesmo arquivo?
cat < first > first
fonte
cat < first > temp
funciona muito bem.