Sed et expression régulières
deeper
-
deeper -
deeper -
Bonjour,
J'ai une expression régulière qui ne me donne pas exactement le résultat souhaité :
J'ai un fichier qui contient :
../sessions/02 - Selection/Nom_fichier_H1_blabla.ses
../camp/01 - Loisir/AutreNom_00_blabla_H2_H_blibli.ses
le sed
sed "s#\(..\)\([0-9]*\)/\(.[^_]*_\)\(..\)\(.*\)#\4;5;\3\4\5#" monfichier.txt >> liste.txt
(merci Jipicy)
me donne respectivement :
fi;5;sessions/02 - Selection/Nom_fichier_H1_blabla.ses
00;5;camp/01 - Loisir/AutreNom_00_blabla_H2_H_blibli.ses
alors que je souhaiterais
H1;5;...
H2;5;...
Le code souhaité est toujours H puis un chiffre de 1 à 9
H1, H2, H3, ...H9
Vouyez-vous une solution ?
Merci mille fois d'avance
J'ai une expression régulière qui ne me donne pas exactement le résultat souhaité :
J'ai un fichier qui contient :
../sessions/02 - Selection/Nom_fichier_H1_blabla.ses
../camp/01 - Loisir/AutreNom_00_blabla_H2_H_blibli.ses
le sed
sed "s#\(..\)\([0-9]*\)/\(.[^_]*_\)\(..\)\(.*\)#\4;5;\3\4\5#" monfichier.txt >> liste.txt
(merci Jipicy)
me donne respectivement :
fi;5;sessions/02 - Selection/Nom_fichier_H1_blabla.ses
00;5;camp/01 - Loisir/AutreNom_00_blabla_H2_H_blibli.ses
alors que je souhaiterais
H1;5;...
H2;5;...
Le code souhaité est toujours H puis un chiffre de 1 à 9
H1, H2, H3, ...H9
Vouyez-vous une solution ?
Merci mille fois d'avance
A voir également:
- Sed et expression régulières
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Avoir du ping expression ✓ - Forum Réseau
- Expression de recherche - Guide
- Remplacez le mot sed par le mot mais dans tout le texte. combien de caractères contient le document suite à cette modification (en incluant les espaces) ? ✓ - Forum Shell
6 réponses
Salut,
Essaies ça :
Essaies ça :
sed "s#\(..\)/\(.[^H]*_\)\([^H]*H.\)\(.*\)#\3;5;\2\3\4#"Mais bon par rapport à ton précédent post y'a pas mal de changement et je ne suis pas sûr que ce soit ça que tu veuilles ;-(
Merci Jipicy,
Ce que je souhaite, c'est
blablabla_H1_blibli => H1
blabla_00_H2_blibli =>H2 (il peut y avoir 2 caractères entre _)
blabla_H3_blibli_Hebdo =>H3 (il peut y avoir plusieurs _H)
en revanche, il ne peut y avoir qu'un seul _H suivi d'un chiffre
Merci
Ce que je souhaite, c'est
blablabla_H1_blibli => H1
blabla_00_H2_blibli =>H2 (il peut y avoir 2 caractères entre _)
blabla_H3_blibli_Hebdo =>H3 (il peut y avoir plusieurs _H)
en revanche, il ne peut y avoir qu'un seul _H suivi d'un chiffre
Merci
jp@MDK:~/tmpfs ssh$ cat plop ../sessions/02 - Selection/Nom_fichier_H1_blabla.ses ../camp/01 - Loisir/AutreNom_00_blabla_H2_H_blibli.ses jp@MDK:~/tmpfs ssh$ sed "s#\(..\)/\(.[^H]*_\)\([^H]*H.\)\(.*\)#\3;5;\2\3\4#" plop H1;5;sessions/02 - Selection/Nom_fichier_H1_blabla.ses H2;5;camp/01 - Loisir/AutreNom_00_blabla_H2_H_blibli.ses jp@MDK:~/tmpfs ssh$
Ca marche pour la plupart des lignes (90%), mais j'ai encore quelques erreurs :
00;5;camp/00 - Admin/SEGM GOOD ACCO_00_000_5CW_G_0089_H1_GOOD ACCOUNTS.ses
MONTHS;5;sessions/02 - Selection/Create DSN_MONTHSINBOOKS_PL_H1_DSN_MONTHSINBOOKS_PL.ses
../sessions/02 - Selection/Create ATM SHOP sns_H1_ATM_SHOP_transp.ses
../sessions/02 - Selection/Create OTB BASH 120_H1_OTB BASH 120.ses
../sessions/01 - Rules/Rules BASH DIRE_H2_Rules BASH DIRE.ses
../sessions/01 - Rules/Rules BASH LC_H2_Flow Rules BASH LC.ses
../sessions/01 - Rules/Rules CHARGE LC_H2_Rules Charge LC.ses
../sessions/02 - Selection/Create BASH transpactions_H4_BASH_transp_LST12mnth.ses
Merci
00;5;camp/00 - Admin/SEGM GOOD ACCO_00_000_5CW_G_0089_H1_GOOD ACCOUNTS.ses
MONTHS;5;sessions/02 - Selection/Create DSN_MONTHSINBOOKS_PL_H1_DSN_MONTHSINBOOKS_PL.ses
../sessions/02 - Selection/Create ATM SHOP sns_H1_ATM_SHOP_transp.ses
../sessions/02 - Selection/Create OTB BASH 120_H1_OTB BASH 120.ses
../sessions/01 - Rules/Rules BASH DIRE_H2_Rules BASH DIRE.ses
../sessions/01 - Rules/Rules BASH LC_H2_Flow Rules BASH LC.ses
../sessions/01 - Rules/Rules CHARGE LC_H2_Rules Charge LC.ses
../sessions/02 - Selection/Create BASH transpactions_H4_BASH_transp_LST12mnth.ses
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question