Bonjour les amis,
J'ai un truc qui me rend dingue.... Voilà le problème. A vrai dire j'ai deux problèmes:
1er Problème:
J'ai une fonction ChangeChar :
Le problème c'est que quand le 2ème argument "${2}" est une chaine vide, il me donne des messages d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function ChangeChar { # Function: This function update char $1 with char $2 # List of parameters: # - $1: Char to be updated # - $2: New value of the char # - $3: File to be updated # ------------------------------------ sed "s/^${1}=.*/${1}=${2}/" ${3} > ${3}.tmp cp -f ${3}.tmp ${3} rm -f ${3}.tmp }
pour régler ce problème j'ai fait un truc du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed: -e expression #1, char 40: unknown option to `s'
mais ça ne règle pas le problème malheureusement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function ChangeChar { # Function: This function update char $1 with char $2 # List of parameters: # - $1: Char to be updated # - $2: New value of the char # - $3: File to be updated # ------------------------------------ if [ -z ${2} ] then sed "s/^${1}=.*/${1}=/" ${3} > ${3}.tmp else sed "s/^${1}=.*/${1}=${2}/" ${3} > ${3}.tmp fi cp -f ${3}.tmp ${3} rm -f ${3}.tmp }
2eme Problème:
ça concerne toujours la même fonction. En fait, avec cette fonction je parcours 3 fichiers, pour chacun, quand je trouve le pattern que je veux remplacer, et bien je le remplace sinon ça doit continuer le traitement sans générer d'erreur.
Le soucis, c'est que, quand il parcours les 3 fichiers, et qu'il ne trouve pas un pattern dans l'un d'eux, il me générer un message d'erreur :
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part sed: -e expression #1, char 40: unknown option to `s'
Partager