Besoin aide pour script bash

Tarez -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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 :)

1 réponse

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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