Centre technique de beubeu

Aller au contenu | Aller au menu | Aller à la recherche

Exemples d'utilisations de Sed

Utilisation de Sed

  • Commande permettant de remplacer la chaine1 par chaine2 dans le fichier file
sed –e "/s/chaine1/chaine2/g" file

exemple :

sed s/"/"/g /c20/donnees/reprise/temp/IntegrationServer/fichiersxml/regletraduction.xml
  • Script pour changer une chaîne de caractère dans un ensemble de fichiers
#/bin/sh
for i in ` find . | xargs grep -l /oracle/app`
# | file | grep -v executable | grep -v directory | awk -F: '{ print $1}' `
do
echo "$i : ok"
cat $i  | sed -e "s/\/oracle\/app/\/k\/logiciel\/ora\/app/g" > $i.BDM
cp $i $i.BDM.old
cp $i.BDM $i
rm $i.BDM
rm $i.BDM.old
done 
  • Change une chaine de caractères dans les fichiers du répertoire
#!/bin/ksh
FROM="ORA72"
TO="ORA734"
EXCLUDE=`basename $0`
for FILE in `grep -l ${FROM} * | grep -v $EXCLUDE`
do
  cp ${FILE} ${FILE}.bak
  sed "s/${FROM}/${TO}/g" <${FILE} >/tmp/sed_work
  mv /tmp/sed_work ${FILE}
done
  • Script de suppression de tous les blancs en fin de ligne
#!/bin/ksh
# Recuperation du nom de fichier a modifier
TmpFile="tmp_trc_000.sed.tmp"
FileName=$1
DIR=`dirname "${FileName}"`
# Creation de l'ordre de remplacement
ReplaceOrder="s/ *$//"
# Execution
sed "${ReplaceOrder}" "${FileName}" > $DIR/$TmpFile
mv "${FileName}" "${FileName}".SAV
mv $TmpFile "${FileName}"

Commentaires

1. Le mardi 29 septembre 2009, 21:03 par msikato

merci bien :)