|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Bonjour à tous,
je ne suis pas du tout un spécialiste du shell, mais a ce que je vois, il y a nombre de personnes sur ce forum très comptentes. Alors peut-être une petite idée pour résoudre mon problème : J'ai un fichier contenant : ... timeFmt=2 dateFmt=3 sql=select empno, firstnme, lastname, workdept, deptname from jeudessai.employee join jeudessai.department on workdept = deptno where deptno = '&1' order by &2 fileType=pdf reqType=sql ifs.ifsOutFile= ifs.ifsOverWrtFile=true ... J'appelle mon script avec des paramètres (nombre inconnu voir aucun paramètre) et le but est de substituer le paramètre &1 par $1, &2 par $2 etc... le tout dans un nouveau fichier. Exemple : monscript A00 1 qui me donnerait au final dans un nouveau fichier : ... timeFmt=2 dateFmt=3 sql=select empno, firstnme, lastname, workdept, deptname from jeudessai.employee join jeudessai.department on workdept = deptno where deptno = 'A00' order by 1 fileType=pdf reqType=sql ifs.ifsOutFile= ifs.ifsOverWrtFile=true ... le &1 ou &2 etc... peuvent-être plusieurs fois dans le fichier. Une solution ???? Code :
Dernière modification par K2R400 ; 15/01/2010 à 13h07. |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 896 ![]() |
Oui, sed peut faire ce pourquoi il a été conçu : effectuer des modifications dans un fichier.
Typiquement :Une petite précision, en utilisant des variables, il est préférable d'utiliser des guillemets plutôt que des apostrophes : Code :
sed "s/&1/$1/; s/&2/$2/" ton_fichier > ton_nouveau_fichier |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
@N_BaH
merci pour ta réponse. j'aurai effectivement tendance à utiliser : mais le problème, c'est que je ne connais pas le nombre de paramètres, il peut être variable. dois-je passer par des copies de fichier dans ma boucle à chaque fois ? du genre : Code :
Dernière modification par K2R400 ; 15/01/2010 à 14h24. |
||
|
|
00
|
|
|
#4 | ||||
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 896 ![]() |
oui, ça m'a l'air raisonnable; mais plutôt ainsi:
Code :
? voire : Code :
|
||||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Je te remercie, ça marche pec !
bravo |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com