J'ai utilisé avec succès les méthodes suivantes sed
pour rechercher/remplacer du texte sous Linux :
sed -i 's/old_link/new_link/g' *
Cependant, lorsque je l'essaie sur mon Mac OS X, j'obtiens :
"La commande c attend un \N suivi d'un texte"
Je croyais que mon Mac fonctionnait avec un shell BASH normal. Qu'est-ce qu'il y a ?
EDIT :
Selon @High Performance, cela est dû à Mac sed
étant d'une saveur différente (BSD), ma question est donc de savoir comment reproduire cette commande en BSD. sed
?
EDIT :
Voici un exemple concret qui en est la cause :
sed -i 's/hello/gbye/g' *
1 votes
Cela signifie que
sed
voit un "c" dans vos données comme une commande. Utilisez-vous une variable ? Veuillez poster quelque chose qui représente plus fidèlement la commande réelle et certaines données que vous traitez. Vous pouvez obtenir une démonstration simple de cette erreur en faisantecho x | sed c
.0 votes
@Dennis, la simple commande ci-dessus provoque cela, bien que les données qu'elle traite soient un site web entier (je convertis tous les liens d'images), y compris les fichiers html et css...