Rediriger la sortie de sed 's/c/d/' monfichier à myFile

Je suis à l'aide de sed dans un script pour faire un remplacement et je veux avoir le fichier remplacé écraser le fichier. Normalement, je pense que vous pouvez utiliser ceci:

% sed -i 's/cat/dog/' manipulate
sed: illegal option -- i

Cependant comme vous pouvez le voir mon sed ne dispose pas de cette commande.

J'ai essayé ceci:

% sed 's/cat/dog/' manipulate > manipulate

Mais cela ne fait que manipuler dans un fichier vide (de sens).

Cela fonctionne:

% sed 's/cat/dog/' manipulate > tmp; mv tmp manipulate

Mais je me demandais si il y avait un moyen standard pour rediriger la sortie dans le même fichier que l'entrée a été prise.

  • Comment se fait personne n'a indiqué sponge?
  • Je suppose que la question n'était pas éponge-digne.