K

- Base de connaissances

SED

vendredi 6 septembre 2013, par webmestre

Lire aussi :

Remplacer un chaîne de caractères par une autre chaîne de caractères

Prototype de la ligne de commandes :

sed -i -e "s/chaines1/chaine2/g" fichier

Il est à noter que les caractères spéciaux sont échappés avec le caractère \, voici un exemple oû l’on remplace /folder par /tmp :

sed -i -e "s/\/folder/\/tmp/g" fichier

En couplant, les commandes find et sed, il est possible de faire ce remplacement dans les fichiers contenus dans un répertoire par balayge des sous-répertoires :

find /mon_repertoire -name "*.txt" -type f -exec sed -i "s/chaine1/chaine2/g" {} \;

Un autre exemple dans lequel on remplace la chaîne ’Code’ par i18n[’col_code’] dans les fichiers *.js du répertoire courant en excluant les répertoires et fichiers contenant la chaîne de caractères .svn :

find . -name "*.js" ! -name "*.svn*" -type f -exec sed -i "s/'Code'/i18n['col_code']/g" {} \;

Répondre à cet article

Plan du site | Suivre la vie du site RSS 2.0 | powered by NYSTEK-EDITIONS and NYSTEK-CONSULTING