Veja a opção -i
em man sed
.
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
Menos útil, mas relacionado, você também pode vincular vários -exec
s juntos; eles são executados da esquerda para a direita.
tmp=$(tempfile)
find . -name '*.txt' -exec sed 's/oldtext/newtext/g' '{}' > $tmp \; -exec mv $tmp '{}' \;
(Observe a citação de *.txt
, {}
e o escape de ;
para não tê-los interpretados pelo seu shell.)