Isso não é possível no AIX mesmo com a ferramenta sed instalada.
Você precisa usar um arquivo temporário como sugerido por terdon
Você também pode usar ed , que faz a edição em linha.
Existe algum sinalizador não documentado na implementação do AIX que permite a edição no local? A página man não mostra nenhum sinalizador para esta operação, que é uma das mais úteis em outros sabores do UNIX.
Isso não é possível no AIX mesmo com a ferramenta sed instalada.
Você precisa usar um arquivo temporário como sugerido por terdon
Você também pode usar ed , que faz a edição em linha.
você pode usar perl para fazer isso:
perl -p -i.bak -e 's/old/new/g' test.txt
Vai criar um arquivo .bak .
Ou sem um arquivo .bak :
perl -pi -e 's/old/new/g' test.txt
Ou instale sed-4.1.1 RPM de aqui .
Defina uma variável e use um subshell para executar sed e redirecionar para um arquivo.
Muito importante use " (aspas duplas) para proteger a variável $value :
value=$(sed 's/old/new/g' file) && echo "$value" > file
Ou
Execute echo com um subshell que você vai executar 'sed' e redirecione para um arquivo:
echo "$(sed 's/old/new/g' file)" > file