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
A voir également:
- Sed sur fichier texte
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
2 réponses
Salut,
Un truc du genre devrait le faire :
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$;-))