Autant le dire tout de site, il n'existe pas de commande magique permettant de réaliser une substitution sur plusieurs fichiers de manière simplet et interactive.
Cela dit, rien n'est perdu pour autant, les commandes Unix/Linux sont suffisamment riches pour réaliser un petit script qui fera l'affaire.
En voici un parmi tant d'autres :
#!/bin/sh echo "Repertoire:" ead -r LECHEMIN echo "Dans fichiers/types:" read -r LESTYPES echo "Rechercher:" read -r SEARCH echo "Remplacer avec:" read -r REPLACE if [[ ! -d ${LECHEMIN} ]] then echo "Repertoire [$LECHEMIN] incorrect" exit 1 fi if [[ -z ${LESTYPES} ]] then echo "Fichiers/Types vide" exit 2 fi if [[ -z ${SEARCH} ]] then echo "Masque de Recherche vide" exit 3 fi if [[ -z ${SEARCH} ]] then echo "Masque de Remplacement vide" exit 4 fi lesfichiers=`find ${LECHEMIN} -name "${LESTYPES}"` for fichier in $lesfichiers; do cat $fichier | sed s/${SEARCH}/${REPLACE}/g > $fichier.s if [[ ${?} -eq 0 ]] then mv $fichier.s $fichier echo "Replace in $fichier" fi done; exit 0;
Aucun commentaire:
Enregistrer un commentaire