• [^] # Re: c'est un peu vague comme énoncé

    Posté par . En réponse au message Logiciel pour remplacer mots. Évalué à 7. Dernière modification le 04 juin 2019 à 16:37.

    rapidement

    sed -r 's/monNomDeDomaine[.]fr/monNouveauNomDeDomaine.org/g' -i.old $(find -iname '*html' -or -iname '*md')

    en gros va remplacer toutes les chaines monNomDeDomaine[.]fr par monNouveauNomDeDomaine.org dans tous les fichier se terminant par html ou md.

    dans le cas où tu aurais des / dans les noms à repplacer, il vaut mieux uiliser # comme séparateur de champs, donc

    sed -r 's#monNomDeDomaine[.]fr#monNouveauNomDeDomaine.org#g' -i.old $(find -iname '*html' -or -iname '*md')

    le -i.old permet de ne pas perdre les fichier d'origines, ils seront simplement renommé en .old

    -i tout court va modifier les fichiers sans sauvegarde :)

    le [.] dans la première partie permet de ne pas interpréter le . (dans une regEx, le . désigne n'importe quel caractère ) ou plus précisément [.] prends un caractère dans la liste des caractères entre les [] ici il n'y a que le . certains utilisent ., mais ça devient vite le bordel, notamment quand on inclue des chaines de caractères dans les autres.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent