Besoin aide pour script bash

Fermé
Tarez - 1 févr. 2009 à 12:00
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 1 févr. 2009 à 12:27
Bonjour,

voila mon problème: j'ai 24 répertoires nommaient c1 à c24 contenant chacun un fichier nommé (info) de type:

nom=
pseudo=
level=

je souhaiterai pouvoir les modifier d'aprés un fichier texte du type :


fabrice alien 14
john fagola 21
pierre brutos 6
ect......


de manière à ce que le fichier info de c1 contienne nom=fabrice pseudo=alien level=14 ,
pour c2 pareil avec john ect....

merci de votre aide même petite :)
A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
1 févr. 2009 à 12:27
Salut,
[tmpfs]$ tree
.
|-- c1
|   `-- info
|-- c2
|   `-- info
|-- c3
|   `-- info
|-- c4
|   `-- info
|-- c5
|   `-- info
`-- liste.txt

5 directories, 6 files

[tmpfs]$ cat liste.txt
fabrice alien 14
john fagola 21
pierre brutos 6
jean jeannot 5
julie fleur 32

[tmpfs]$ for i in [!liste]*;do echo "${i}/info" ; cat ${i}/info ;done
c1/info
nom=
pseudo=
level=
c2/info
nom=
pseudo=
level=
c3/info
nom=
pseudo=
level=
c4/info
nom=
pseudo=
level=
c5/info
nom=
pseudo=
level=

[tmpfs]$ i=1;while read name pseudo level; do sed -i "s/nom=/&$name/;s/pseudo=/&$pseudo/;s/level=/&$level/" c${i}/info; ((i++)); done < liste.txt

[tmpfs]$ for i in [!liste]*;do echo "${i}/info" ; cat ${i}/info ;done
c1/info
nom=fabrice
pseudo=alien
level=14
c2/info
nom=john
pseudo=fagola
level=21
c3/info
nom=pierre
pseudo=brutos
level=6
c4/info
nom=jean
pseudo=jeannot
level=5
c5/info
nom=julie
pseudo=fleur
level=32

[tmpfs]$ 
;-))
0