Sed sur fichier texte
Résolu
deeper
-
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
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
-
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$
;-))
-