|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 18 ![]() |
Bonjour,
Je travaille sous Unix SunOS 5.8, j'ai un fichier de plusieurs lignes (ci-dessous un extrait), je veux comparer le champ rouge de la ligne 1 avec le champ rouge de la ligne 2, et de même pour la ligne 2 avec la ligne 3, ainsi de suite ... Centenu du fichier : Ligne 1 : RED_120607X082.RXCDZH6.g759;12-Jun-05 à 04:43;681389;12/06/2007;01:36;12/06/2007;03:39;3083 Ligne 2 : RED_120607V083.RXCDZH6.g759;12-Jun-05 à 04:44;1151;11/06/2007;23:16;11/06/2007;20:36;5 .... .... Merci |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mars 2004 Messages : 3 109 ![]() |
Quelles comparaisons ? égalité ou supérieure/inférieure ?
__________________
Ancien Rédacteur Linux && Unix / Nouveau retraité de DVP The UNIX way of sex: gunzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep Je ne réponds ni aux messages privées, ni aux messages plein de fautes... |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 18 ![]() |
Ligne 1 : RED_120607X082.RXCDZH6.g759;12-Jun-05 à 04:43;681389;12/06/2007;01:36;12/06/2007;03:39;3083
Ligne 2 : RED_120607X083.RXCDZH6.g759;12-Jun-05 à 04:44;1151;11/06/2007;23:16;11/06/2007;20:36;5 Je voudrai en fait afficher pour chaque deux lignes successives, si le [champ2-champ1]>=2heures Car les champs en rouge sont des heures : 03h39 et 23h16. Merci. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mars 2004 Messages : 3 109 ![]() |
Travaillé sur les heures en awk ...arg
Je te conseillerai plutot de t'orienter vers le langage Perl, developpé pour éviter d'avoir des usines à gaz sous awk
__________________
Ancien Rédacteur Linux && Unix / Nouveau retraité de DVP The UNIX way of sex: gunzip;strip;touch;finger;mount;fsck;more;yes;umount;sleep Je ne réponds ni aux messages privées, ni aux messages plein de fautes... |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 18 ![]() |
et perl sous unix, je sais pas encore par quoi commencer.
Je dois donner le nom du fichier en entrée du script perl, comparer les champs des lignes, et afficher le résultat... Je verrai. |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 968 ![]() |
Je ne suis pas sûr d'avoir compris, mais voilà quelque chose en awk qui le fait peut-être:
Code :
|
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2005 Messages : 18 ![]() |
Bonjour,
Merci pour la réponse. Comment puis-je utiliser les deux fonctions, pour détecter si la différence entre le champ1 (champ rouge ligne1) et le champ2 (champ rouge ligne2) est >=2h. J'ai un fichier qui contient : (ligne 1) RED_120607X082.RXCDZH6.g759;12-Jun-05 à 04:43;681389;12/06/2007;01:36;12/06/2007;03:39;3083 (ligne 2) RED_120607X083.RXCDZH6.g759;12-Jun-05 à 04:44;1151;11/06/2007;23:16;11/06/2007;20:36;5 .... .... Je veux afficher pour chaque deux lignes successives, si le [champ2-champ1]>=2heures Càd : si (23:16 - 03:39)>=2h, ainsi de suite pour la ligne2 et la ligne3. Merci. |
|
|
00
|
|
|
#8 | ||
|
Membre expérimenté
![]() Inscription : mars 2007 Messages : 469 ![]() |
[QUOTE=zeus2005]
Càd : si (23:16 - 03:39)>=2h, ainsi de suite pour la ligne2 et la ligne3. QUOTE] Pour fonctionner, cela doit intégrer aussi le changement de jour. Même si ce n'est pas la solution, en cherchant un petit peu tu as de quoi terminer ton exercice http://lea-linux.org/cached/index/Dev-awk.html Code :
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
||
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 968 ![]() |
Citation:
Essaie le en lui passant le nom de ton fichier en argument (comme le fait celui de BlaireauOne) ou en redirigeant ton fichier vers le script. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com