utiliser sed pour remplacer le contenu d’un fichier ne fonctionne pas en script bash

J’ai le sed -e 's/ install.rdf dans un script bash, et ça marche sur la ligne de commande, mais dans le script bash, install.rdf finit un fichier vierge.

Lorsque je lance la ligne de commande sed -e 's/ install.rdf , 2 lignes sont supprimées du fichier.

Toute idée de la raison pour laquelle sed -e 's/ install.rdf ne fonctionne pas dans le script bash?

Essaye ça:

 sed -i -e 's/ 

Lorsque vous redirigez la sortie vers un fichier en mode tronqué, le fichier est d'abord tronqué avant d'être lu. Ainsi, le résultat est un fichier vide. Utiliser sed -i évite cela.

Solution portable (et heureusement pas trop sécurisée):

 (set -C && sed -e 's/ install.rdf.$$ && mv install.rdf.$$ install.rdf) 

🙂