[Sed] Intégration dans un script

Intégration dans un script [Sed] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 20-03-2007 à 11:54:25    

Bonjour tout le monde,
 
J'ai un souci, le sed qui est dans le script qui suit me retourne systèmatiquement cette erreur :

sed: -e expression n°1, caractère 1: Commande inconnue: `''


#!/bin/sh
IMPORTLIST_FILE=SerialFichier.txt
 
echo SetAccountRules >> $IMPORTLIST_FILE
 
CMD="sed -i -e 's/SetAccountRules/SetAccountMailRules/' $IMPORTLIST_FILE"
 
LAST_LOG=$($CMD 2>&1)
echo "\"$CMD\""
echo $LAST_LOG


 
La formule avec

LAST_LOG=`$CMD 2>&1`

n'est pas plus fructueuse.
 
En fait, je sais que le souci vient de la séparation entre les arguments "sed" "-i" "-e  's/SetAccountRules/SetAccountMailRules/'" "$IMPORTLIST_FILE"
 
Si l'on transforme le script de cette manière ça fonctionne, mais c'est restrictif au niveau des doubles et simples guillements..

#!/bin/sh
IMPORTLIST_FILE=SerialFichier.txt
 
echo SetAccountRules >> $IMPORTLIST_FILE
 
CMD="sed -i -e s/SetAccountRules/SetAccountMailRules/ $IMPORTLIST_FILE"
 
LAST_LOG=eval $CMD
echo "\"$CMD\""  
echo $LAST_LOG


 
Quel est votre avis sur le bousin ?

Reply

Marsh Posté le 20-03-2007 à 11:54:25   

Reply

Marsh Posté le 20-03-2007 à 12:38:36    

Pourquoi tu mets tant de variables et de quotes dans ton script là ?? [:gratgrat]
 
Sinon, essayes de backslasher les simples quotes: \' ça devrait aller mieux


---------------
Wedge#2487 @HS -#- PW: +∞ -#- Khaz-Modan/Boltiz @WoW
Reply

Marsh Posté le 20-03-2007 à 13:23:23    

wedgeant a écrit :

Pourquoi tu mets tant de variables et de quotes dans ton script là ?? [:gratgrat]
 
Sinon, essayes de backslasher les simples quotes: \' ça devrait aller mieux


 
Parce que ce n'est qu'un extrait de ce qui me pose problème.
 
Les backslashes, ne résoud pas le problème.

Reply

Marsh Posté le 20-03-2007 à 14:20:59    

MrHarry a écrit :

Salut  :hello:  
 

#! /bin/sh
 
IMPORTLIST_FILE='SerialFichier.txt'
 
echo 'SetAccountRules' >> "$IMPORTLIST_FILE"
 
CMD='sed -e s/SetAccountRules/SetAccountMailRules/ '"$IMPORTLIST_FILE"
 
echo "$CMD"
 
LAST_LOG=$($CMD)
 
echo "$LAST_LOG"


 
Bye ;)


 
 
Merci beaucoup, ça fonctionne.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed