Sed sur fichier texte

Résolu
deeper -  
 deeper -
Bonjour,

Je bloque sur une étape dans un script. Je souhaiterais savoir comment on peut (j'ai pensé à sed), mais ca me parait compliqué) faire la chose suivante :
J'ai un fichier texte contenant
../../partition5/dossier/sousdossier1/fichier_H1_1.txt
../../partition5/dossier/sousdossier2/soussousdossier1/mon_H2_fichier2.txt

Je souhaiterais transformer les lignes en :
H1;5;dossier/sousdossier/fichier_H1_1.txt
H2;5;dossier/sousdossier2/soussousdossier1/mon_H2_fichier2.txt

_H1_ ou _H2_ est toujours écrit de la même façon, il n'y a que le chiffre qui change et peut aller jusqu'à 9.
La deuxième colonne est le numéro de la partition

Pourriez-vous m'aider ?

Merci d'avance
Configuration: Windows XP Internet Explorer 6.0

2 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Un truc du genre devrait le faire :
     ssh$ cat toto
    ../../partition5/dossier/sousdossier1/fichier_H1_1.txt
    ../../partition5/dossier/sousdossier2/soussousdossier1/mon_H2_fichier2.txt
    
     ssh$ sed 's#\([^n]*n\)\([[:digit:]]*\)/\(.[^_]*_\)\(..\)\(.*\)#\4;\2;\3\4\5#' toto
    H1;5;dossier/sousdossier1/fichier_H1_1.txt
    H2;5;dossier/sousdossier2/soussousdossier1/mon_H2_fichier2.txt
    
     ssh$
    ;-))
    0
  2. deeper
     
    Salut Jipicy,

    Tu es ENORME !
    Que ferais-je sans toi !

    Merci mille fois
    0