Sed sur fichier texte

Résolu/Fermé
deeper - 11 juin 2009 à 12:26
 deeper - 11 juin 2009 à 14:15
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
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
11 juin 2009 à 13:33
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
Salut Jipicy,

Tu es ENORME !
Que ferais-je sans toi !


Merci mille fois
0