Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Expressions regulieres pas si reguliere que ca ...

3 réponses
Avatar
Siddharta
voici mon script:

#!/usr/bin/perl -w
use strict;
$/=3D"\n ";
while (<>){
if (/\nP\|1\|\d*\|\|\d*\|LE MITOUARD/){
print ;
}
}

quand je le lance avec un fichier de log en argument et que je le
redirige vers le fichier toto voici ce qu'il me donne (extrait):
-----------------------------------------------------------------
12/07/2005 21:21:00 : DEBUT SESSION

P|1|27098|||LE
MITOUARD~FREDERIQUE~~~Mle~||19600912|F||~~~~|PAT01~91|||||||||||||MP|~~~~~|=
~||9||||
=3D=3D=3D|statut=3DMP|evt=3D91|ipp=3D27098|UF=3D|LIT=3D|CHAMBRE=3D|cac=3D|n=
sejour=3D|datemvt=3D|hmvt=3D|IPS=3D|num=3Dfic_20050712_000000369042
CRE/MAJ IDENT
PATIENT non psy
mvt sans date

P|1|27098||90067140|LE
MITOUARD~FREDERIQUE~~~Mle~||19600912|F||~~~~|EH16~18||||||||||||20050712212=
400|IP|~~6201~~~6201|01~01||9||1000087075||
=3D=3D=3D|statut=3DIP|evt=3D18|ipp=3D27098|UF=3D620101|LIT=3D|CHAMBRE=3D|ca=
c=3D01|nsejour=3D90067140|datemvt=3D12/07/2005|hmvt=3D21:24|IPS=3D100008707=
5|num=3Dfic_20050712_000000369043
CRE/MAJ IDENT
AFFECTATION possecteur et posuf
AFFECTATION IPS
CREA SEJOUR
CREA MVT - s=E9jour trouv=E9
CREA SEMAINE DU LUNDI=3D11/07/2005

P|1|27098||90067140|LE
MITOUARD~FREDERIQUE~~~Mle~||19600912|F||~~~~|EH10~11||||||||||||20050712212=
400|IP|~~6201~~~6201|01~01||9||1000087075||
=3D=3D=3D|statut=3DIP|evt=3D11|ipp=3D27098|UF=3D620101|LIT=3D|CHAMBRE=3D|ca=
c=3D01|nsejour=3D90067140|datemvt=3D12/07/2005|hmvt=3D21:24|IPS=3D100008707=
5|num=3Dfic_20050712_000000369044
CRE/MAJ IDENT
AFFECTATION possecteur et posuf
AFFECTATION IPS
SEJOUR EXITE DEJA
PAS DE NV MVT - LIEU et TYPEMVT identiques que MVT en cours
66|66|1|1
12/07/2005 21:21:02 : FIN SESSION

12/07/2005 21:23:00 : DEBUT SESSION

P|1|27006||90067138|LE
BRECH~SACHA~~~Mr~||19870108|M||SDF~~VANNES~~56000|EH17~01|||||||||GASNIER|D=
OMINIQUE|0297424127|20050712183500|MP|~~6201~~~6201|01~01||1||1000087073||
=3D=3D=3D|statut=3DMP|evt=3D01|ipp=3D27006|UF=3D620101|LIT=3D|CHAMBRE=3D|ca=
c=3D01|nsejour=3D90067138|datemvt=3D12/07/2005|hmvt=3D18:35|IPS=3D100008707=
3|num=3Dfic_20050712_000000369046
CRE/MAJ IDENT
AFFECTATION possecteur et posuf
AFFECTATION IPS

P|1|27006||90067138|LE
BRECH~SACHA~~~Mr~||19870108|M||SDF~~VANNES~~56000|EH11~31|||||||||GASNIER|D=
OMINIQUE|0297424127|20050712183500|MP|~~6201~~~6201|01~01||1||1000087073||
=3D=3D=3D|statut=3DMP|evt=3D31|ipp=3D27006|UF=3D620101|LIT=3D|CHAMBRE=3D|ca=
c=3D01|nsejour=3D90067138|datemvt=3D12/07/2005|hmvt=3D18:35|IPS=3D100008707=
3|num=3Dfic_20050712_000000369048
CRE/MAJ IDENT
AFFECTATION possecteur et posuf
AFFECTATION IPS

P|1|27098||90067140|LE MITOUARD~FREDERIQUE~~~Mle~||19600912|F||55
AVENUE DU 11 NOVEMBRE~~LE PERREUX SUR
MARNE~~94170|PAT11~92|||||||||||||MP|~~~~~|~||9||1000087075||
=3D=3D=3D|statut=3DMP|evt=3D92|ipp=3D27098|UF=3D|LIT=3D|CHAMBRE=3D|cac=3D|n=
sejour=3D90067140|datemvt=3D|hmvt=3D|IPS=3D1000087075|num=3Dfic_20050712_00=
0000369050
CRE/MAJ IDENT
mvt sans date
12/07/2005 21:23:03 : FIN SESSION

P|1|25277||90067164|TOURNAIRE~ANITA~~~Mme~|THIBOULT|19630207|F||HOTEL
DES
VENETES~~ARRADON~~56610|EH11~31|0297448585|||VANNES|56000||||TOURNAIRE|CHRI=
STIAN||20050715132600|MP|~~6315~~~6315|01~01||2||1000087181||
=3D=3D=3D|statut=3DMP|evt=3D31|ipp=3D25277|UF=3D631501|LIT=3D|CHAMBRE=3D|ca=
c=3D01|nsejour=3D90067164|datemvt=3D15/07/2005|hmvt=3D13:26|IPS=3D100008718=
1|num=3Dfic_20050715_000000370926
CRE/MAJ IDENT
AFFECTATION possecteur et posuf
AFFECTATION IPS
15/07/2005 18:35:05 : FIN SESSION

[...]
"--------------------------------------------------------------------------
ma question est : que vienne faire TOURNAIRE et LE BRECH dans ce
'filtre'?

3 réponses

Avatar
Klaus Eichner
"Siddharta" wrote in message
news:

voici mon script:

#!/usr/bin/perl -w
use strict;
$/="n ";
while (<>){
if (/nP|1|d*||d*|LE MITOUARD/){
print ;


Je propose d'ajouter des "bornes visuelles" (sans modifier le critère du
filtre!), par ex.:

print "n======= debut enregistrement =======n";

print ;


print "======= fin enregistrement =======n";

}
}

quand je le lance avec un fichier de log en argument et que je le
redirige vers le fichier toto voici ce qu'il me donne (extrait):
-----------------------------------------------------------------
P|1|27098|||LE MITOUARD~FRE [...]
P|1|27098||90067140|LE MITOUARD~FRE [...]
P|1|27098||90067140|LE MITOUARD~FRE [...]
P|1|27006||90067138|LE BRECH~SA [...]
P|1|27006||90067138|LE BRECH~SA [...]
P|1|27098||90067140|LE MITOUARD~FRE [...]
P|1|25277||90067164|TOURNAIRE~AN [...]

"--------------------------------------------------------------------------

ma question est : que vienne faire TOURNAIRE et LE BRECH dans ce
'filtre'?


Il me semble que les lignes avec "TOURNAIRE" et "LE BRECH" ne sont pas des
enregistrements individuels, mais des continuations d'un enregistrement
précédent. Essaie de relancer le programme avec les bornes supplémentaires
("== debut enregistrement ==" et "== fin enregistrement =="). Avec ces
bornes, tu peux mieux séparer les enregistrements individuels.

--
Klaus

Avatar
Siddharta
merci grace a toi j'ai reussi a isoler le probleme , il fallait mettre
"rnrn" sous cygwin pour retrouver l'équivalent à "nn" sous
debian, tu avais raison c'est grace a ta delimitation des lignes que je
suis arrivé a cette conclusion

Merci encore
Avatar
Paul Gaborit
À (at) 28 Jul 2005 13:05:11 -0700,
"Siddharta" écrivait (wrote):
merci grace a toi j'ai reussi a isoler le probleme , il fallait mettre
"rnrn" sous cygwin pour retrouver l'équivalent à "nn" sous
debian, tu avais raison c'est grace a ta delimitation des lignes que je
suis arrivé a cette conclusion


C'est donc que vous avez configuré cygwin pour utiliser des fichiers
textes avec fins de ligne à la Unix et non Windows... Alors que votre
fichier de log utilise lui les fins de lignes Windows (soit parce
qu'il a été généré directement par Windows soit parce qu'il a été
transféré depuis Unix par un outil qui fait la conversion genre FTP en
mode texte).

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>