Rechercher : dans
Par :

Shell script sed avec quotes

Dernière réponse le 23 jan 2008 à 17:19:41 ndmiron, le 23 jan 2008 à 12:31:41 
 Signaler ce message aux modérateurs

Bonjour,


Voici un exemple de script:

for VARIABLE in ... do

for VARIABLE2 in `cat fichier` # fichier étant ... une liste de 's/xxx/yyy'
do
cat $VARIABLE.INT | sed $VARIABLE2 > $VARIABLE.INTOut # comment faire pour substituer les valeurs de VARIABLE2 qui contiennent des ' ou sinon d'utiliser | sed '$VARIABLE2" en m'assurant que VARIABLE2 soit actif à l'intérieur des '

done
done



#Merci - j'espère que c'est assez clair comme question?

nick

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « shell script sed avec quotes » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha-Bang Premièrement,...
Sed - Introduction à SED - Part II VoirSED - The Stream EDitor - Part II Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Sed - Introduction à SED - Part III VoirSED - The Stream EDitor - Part III Ce document est une introduction à la pratique et à l'utilisation de l'éditeur de flux "SED", qui essaie de couvrir certaines fonctionnalités assez méconnues, pour ne pas dire "quasi inconnues", qui font de "SED"...
Systèmes UNIX - Le shell VoirIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système...

1

jipicy, le 23 jan 2008 à 15:25:15
  • +2

Salut,

Entourer l'expression par des quotes doubles :

$ VARIABLE="Bonjour"
$ echo "Bonjour toi" | sed "s/$VARIABLE/Salut/"
Salut toi
$
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

ndmiron, le 23 jan 2008 à 17:04:26
  • +1

Merci!
Il me semblait que sed prenait uniquement les simple quotes... ouuuf :)

Répondre à ndmiron

4

 jipicy, le 23 jan 2008 à 17:19:41
  • +1

Attention toutefois au cas ou l'expression contiendrait des caractères réservés propres au shell (tel le point d'exclamation par exemple), qui dans ce cas là peuvent générés des erreurs. une autre façon de faire est d'utiliser des quotes simples afin d'exclure la variable de la syntaxe, par exemple on aurait tout aussi bien pu écrire :

echo "Bonjour toi" | sed 's/'"$VARIABLE"'/Salut/'

echo "Bonjour toi" | sed 's/' "$VARIABLE" '/Salut/'
Dans l second exemple espace sont là juste à des fins de lisibilité, c'est pour bien marqué la différence entre quotes simples et quotes doubles.

;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

3

ndmiron, le 23 jan 2008 à 17:05:02
  • +1

Merci résolu

Répondre à ndmiron