extraction données "différent de"

extraction données "différent de" - Shell/Batch - Programmation

Marsh Posté le 09-05-2008 à 13:49:24    

bonjour,
 
j'ai fichier csv du type :
 
CHEMIN
05;051;051;;2;HLP;;depore;;2832;P;hvil2;10816;P
05;052;052;;1;HLP;;depore;;3614;P;hvil90;12136;P
05;053;053;;2;HLP;;hvil2;10816;3179;P;depors;;P
05;054;054;;2;HLP;;hvil2;10816;1914;P;hvil90;12136;P
05;055;055;;1;HLP;;hvil90;12136;3179;P;depors;;P
05;057;057;;2;HLP;;reude1;11417;150;P;reude0;11416;P
05;058;058;;1;HLP;;tamar2;12185;6364;P;depors;;P
05;059;059;;1;HLP;;tamar2;12185;164;P;tamar3;12186;P
05;0510;0510;;1;COM;;jvern;10651;487;P;spaul1;11551;253;P;eblum0;10531;419;P;passe0;11203;507;P;r8mai0;11365;201;P;reude0;11416;322;P;schwe0;11499;165;P;cotea0;10429;200;P;brouc0;10223;326;P;belle0;10138;318;P;moise0;11110;461;P;ouest0;11187;475;P;voute0;11694;324;P;framb0;10667;464;P;coulo0;10437;400;P;jreve0;10863;309;P;ccuch4;10271;325;P;sver20;11576;242;P;barts0;10098;242;P;hvil90;12136;623;P;vivi20;11690;236;P;conse0;10406;361;P;bouli2;10194;604;P;reser0;11414;290;P;monum0;11116;350;P;cnord0;10386;276;P;dupui0;10525;318;P;burea0;10235;308;P;spier0;11552;348;P;chano0;10300;278;P;evreu0;10604;244;P;tamar2;12185;P
05;0511;0511;;1;COM;;reude0;11416;322;P;schwe0;11499;165;P;cotea0;10429;200;P;brouc0;10223;326;P;belle0;10138;318;P;moise0;11110;461;P;ouest0;11187;475;P;voute0;11694;324;P;framb0;10667;464;P;coulo0;10437;400;P;jreve0;10863;309;P;ccuch4;10271;325;P;sver20;11576;242;P;barts0;10098;242;P;hvil90;12136;623;P;vivi20;11690;236;P;conse0;10406;361;P;bouli2;10194;604;P;reser0;11414;290;P;monum0;11116;350;P;cnord0;10386;276;P;dupui0;10525;318;P;burea0;10235;308;P;spier0;11552;348;P;chano0;10300;278;P;evreu0;10604;244;P;tamar2;12185;P
05;0512;0512;;1;COM;;jvern;10651;487;P;spaul1;11551;253;P;eblum0;10531;419;P;passe0;11203;507;P;r8mai0;11365;201;P;reude0;11416;322;P;schwe0;11499;165;P;cotea0;10429;200;P;brouc0;10223;326;P;belle0;10138;318;P;moise0;11110;461;P;ouest0;11187;475;P;voute0;11694;324;P;framb0;10667;464;P;coulo0;10437;400;P;jreve0;10863;309;P;ccuch4;10271;325;P;sver20;11576;242;P;barts0;10098;242;P;hvil90;12136;P
05;0513;0513;;1;COM;;hvil90;12136;623;P;vivi20;11690;236;P;conse0;10406;361;P;bouli2;10194;604;P;reser0;11414;290;P;monum0;11116;350;P;cnord0;10386;276;P;dupui0;10525;318;P;burea0;10235;308;P;spier0;11552;348;P;chano0;10300;278;P;evreu0;10604;244;P;tamar2;12185;P
05;0514;0514;;2;COM;;tamar3;12186;246;P;evreu1;10605;356;P;chano1;10301;383;P;spier1;11553;305;P;burea1;10236;231;P;dupui1;10526;207;P;cnord1;10387;446;P;monum1;11117;237;P;reser1;11415;633;P;bouli1;10193;240;P;conse1;10407;283;P;vivi3;11691;399;P;hvil2;10816;207;P;hvil8;11744;228;P;barts1;10099;286;P;sver3;11577;418;P;cauch1;10268;386;P;jbsal1;10836;388;P;desch1;10488;340;P;ridel1;11428;240;P;lievr1;10991;396;P;ouest1;11188;501;P;moise1;11111;387;P;belle1;10139;397;P;cotea1;10430;291;P;mermo1;11076;390;P;reude1;11417;219;P;r8mai1;11366;483;P;passe1;11204;446;P;eblum1;10532;236;P;spaul0;11550;427;P;jvern;10651;P
05;0515;0515;;2;COM;;tamar3;12186;246;P;evreu1;10605;356;P;chano1;10301;383;P;spier1;11553;305;P;burea1;10236;231;P;dupui1;10526;207;P;cnord1;10387;446;P;monum1;11117;237;P;reser1;11415;633;P;bouli1;10193;240;P;conse1;10407;283;P;vivi3;11691;399;P;hvil2;10816;207;P;hvil8;11744;228;P;barts1;10099;286;P;sver3;11577;418;P;cauch1;10268;386;P;jbsal1;10836;388;P;desch1;10488;340;P;ridel1;11428;240;P;lievr1;10991;396;P;ouest1;11188;501;P;moise1;11111;387;P;belle1;10139;397;P;cotea1;10430;291;P;mermo1;11076;390;P;reude1;11417;P
05;0516;0516;;2;COM;;hvil2;10816;207;P;hvil8;11744;228;P;barts1;10099;286;P;sver3;11577;418;P;cauch1;10268;386;P;jbsal1;10836;388;P;desch1;10488;340;P;ridel1;11428;240;P;lievr1;10991;396;P;ouest1;11188;501;P;moise1;11111;387;P;belle1;10139;397;P;cotea1;10430;291;P;mermo1;11076;390;P;reude1;11417;219;P;r8mai1;11366;483;P;passe1;11204;446;P;eblum1;10532;236;P;spaul0;11550;427;P;jvern;10651;P
05;0518;0518;;2;COM;;tamar3;12186;246;P;evreu1;10605;356;P;chano1;10301;383;P;spier1;11553;305;P;burea1;10236;231;P;dupui1;10526;207;P;cnord1;10387;446;P;monum1;11117;237;P;reser1;11415;633;P;bouli1;10193;240;P;conse1;10407;283;P;vivi3;11691;399;P;hvil2;10816;P
 
 
dans lequel je ne veux extraire les ligne ne comprenant pas le HLP.
 
quelqu'un peut il m'aider avec un script ?
 
merci

Reply

Marsh Posté le 09-05-2008 à 13:49:24   

Reply

Marsh Posté le 09-05-2008 à 13:52:59    

En shell ou en batch ?

Reply

Marsh Posté le 09-05-2008 à 14:12:55    

en batch s'il te plait.
merci

Reply

Marsh Posté le 09-05-2008 à 14:14:41    

Ah bah pas d'bol, je ne peux t'aider qu'en script shell. [:cerveau sadnoir]

Reply

Marsh Posté le 09-05-2008 à 14:18:34    

c'est pas grave donne le moi en script shell, je verrai.
merci

Reply

Marsh Posté le 09-05-2008 à 14:28:03    

grep -v ";HLP;" <ton fichier>

Reply

Marsh Posté le 09-05-2008 à 14:32:44    

merci à toi Elmoriq, mais il faut que je le trouve en batch

Reply

Marsh Posté le 09-05-2008 à 14:39:50    

[:orly2]

Reply

Marsh Posté le 09-05-2008 à 14:58:32    

ok, ok, je pensais pouvoir trouver l'équivalent du grep en batch, merci de ton aide, ça me donne des piste de recherche en tout cas

Reply

Marsh Posté le 09-05-2008 à 15:14:58    

http://unxutils.sourceforge.net/ pour les commandes unix sous dos.

Reply

Marsh Posté le 09-05-2008 à 15:14:58   

Reply

Marsh Posté le 09-05-2008 à 15:41:58    

FIND /V ";HLP;" fichier > fichier_extraction


 
Jean-Pierre.

Reply

Marsh Posté le 09-05-2008 à 16:00:29    

Génial Aigles, merci ça fonctionne très bien, juste un truc :il me rajoute
 
---------- CHEMIN.TXT
avant le reste des lignes, sais tu si on peux le supprimer ?
 
merci

Reply

Marsh Posté le 09-05-2008 à 16:30:49    

Non testé :

for /f "skip=2" %i in ('FIND /V ";HLP;" fichier') do @echo %i


 
Jean-Pierre.


Message édité par aigles le 09-05-2008 à 17:56:39
Reply

Marsh Posté le 09-05-2008 à 16:32:02    

en fait il me rajoute le paramètre rentré soit le nom du fichier soit le répertoire : ---------- D:\IMPORTS\HORAIRE.TXT du fichier d'origine...
avec un echo puis-je le supprimer ?

Reply

Marsh Posté le 09-05-2008 à 17:57:33    

MonGhost a écrit :

en fait il me rajoute le paramètre rentré soit le nom du fichier soit le répertoire : ---------- D:\IMPORTS\HORAIRE.TXT du fichier d'origine...
avec un echo puis-je le supprimer ?


Regarde mon précédent post que je viens de corriger (utilisation mauvaise balise pour mise en forme)
 
Jean-Pierre.

Reply

Marsh Posté le 09-05-2008 à 18:49:28    

'lut ,
 
ou simplement  

type "ton fichier" | findstr /v "CHEMIN HLP">"fichier de sortie"


non ?

Reply

Marsh Posté le 10-05-2008 à 14:47:38    

C'est effectivement plus simple.

Reply

Marsh Posté le 13-05-2008 à 09:15:54    

Génial, merci beaucoup, c'est exactement ce que je voulais

Reply

Marsh Posté le 20-05-2008 à 09:52:15    

j'ai une demande complémentaire
je voudrais avoir les message d'erreurs dans un fichier erreurs.txt
or quand j'envoie le code suivant :
TYPE D:\IMPORTS\lignes_tcar\04\bleue\CHEMIN.TXT | FINDSTR /V ";HLP;"  > D:\EXPORTS\lignes_tcar\04\bleue\CHEMIN.TXT 1>> D:\EXPORTS\erreurs.txt
je ne retrouve dans mon fichier erreurs.txt que l'extraction qui a fonctionné !!!
qqn peut m'aider ?
thanks

Reply

Marsh Posté le 20-05-2008 à 13:01:43    

Si j'ai bien compris , tu veux dans le fichier erreurs.txt les lignes qui comprennent HLP ( le contraire de l'autre fonction ) ?

Citation :

TYPE D:\IMPORTS\lignes_tcar\04\bleue\CHEMIN.TXT | FINDSTR /V ";HLP;"  > D:\EXPORTS\lignes_tcar\04\bleue\CHEMIN.TXT 1>> D:\EXPORTS\erreurs.txt


dans ce cas ce serait plutôt ( la même que l'autre mais sans le /V ) :

TYPE D:\IMPORTS\lignes_tcar\04\bleue\CHEMIN.TXT | FINDSTR ";HLP;">D:\EXPORTS\erreurs.txt


Reply

Marsh Posté le 20-05-2008 à 13:06:51    

non, je me suis mal exprimé, en fait j'ai plusieurs répertoires dans mon batch, mais le fichier chemin n'est pas toujours présent.
Je souhaiterai avoir en sortie les répertoires pour lesquels il n'a pas trouvé de fichier.
j'espère être suffisamment clair.

Reply

Marsh Posté le 27-05-2008 à 10:29:40    

MonGhost a écrit :

non, je me suis mal exprimé, en fait j'ai plusieurs répertoires dans mon batch, mais le fichier chemin n'est pas toujours présent.
Je souhaiterai avoir en sortie les répertoires pour lesquels il n'a pas trouvé de fichier.
j'espère être suffisamment clair.


 
en fait ce que j'aimerai récupérer dans un fichier c'est la sortie d'erreur suivante
D:\imports>TYPE D:\imports\lignes_tcar\93\jaune\HORAIRE.TXT    | FINDSTR /V ";de
pors;"   1>D:\exports\lignes_tcar\93\jaune\HORAIRET.TXT
Le fichier spécifié est introuvable.

 
 :cry:

Reply

Marsh Posté le 28-05-2008 à 16:47:48    

Essaye de declarer en variable avant :
 
set var=D:\exports\lignes_tcar\93\jaune\HORAIRET.TXT
set var2=D:\imports\lignes_tcar\93\jaune\HORAIRE.TXT
 
TYPE %var2% | FINDSTR /V ";depors;">%var%


Message édité par edgard007 le 28-05-2008 à 16:50:14
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed