Você deseja sponge ; está no pacote moreutils.
cat file.txt | encoder | sponge file.txt
Meu encoder é um programa que codifica um trecho de texto e imprime o texto codificado na saída padrão. Mas quando eu faço:
cat file.txt | encoder > file.txt
o que acontece é que todo o texto em file.txt é completamente apagado e não resta nada nele.
Por que isso acontece? Há algo de errado com o comando?
Nota: Não há nada errado com o codificador. Funciona perfeitamente. Eu posso conseguir o que eu quero com
cat file.txt | encoder > file2.txt
Você deseja sponge ; está no pacote moreutils.
cat file.txt | encoder | sponge file.txt
Você pode usar o Vim no modo Ex:
ex -sc '%!encoder' -cx file.txt
% seleciona todas as linhas
! comando de execução
x salvar e fechar
Tags command-line redirect