Comparaison deux fichiers.
Résolu/Fermé
bob737
Messages postés
144
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
14 mars 2024
-
Modifié le 14 sept. 2021 à 16:08
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 16 sept. 2021 à 12:04
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 16 sept. 2021 à 12:04
A voir également:
- Comparaison deux fichiers.
- Fusionner deux fichiers excel - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Deux ecran pc - Guide
- Renommer plusieurs fichiers en même temps - Guide
- Explorateur de fichiers - Guide
2 réponses
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié le 15 sept. 2021 à 11:46
Modifié le 15 sept. 2021 à 11:46
Bonjour
Vu les contraintes imposées par ton API, il semble effectivement compliqué d'envisager un logger. Du coup, ta solution basée sur
Or vu le format de tes fichiers, il n'est pas évident que tes fichiers soient triés.
En tout cas, si tu observes un problème lié à ça, tu pourrais te rabattre du
Pour plus de détails ou voir d'autres approches, voir cette discussion.
Bonne chance
Vu les contraintes imposées par ton API, il semble effectivement compliqué d'envisager un logger. Du coup, ta solution basée sur
commme paraît très bienà condition que les lignes soient ordonnées. Autrement
commpeut ne pas marcher comme le montre cet exemple :
(mando@silk) (~) $ cat fichier1
1 a
3 c
2 b
(mando@silk) (~) $ cat fichier2
2 b
1 A
(mando@silk) (~) $ comm -3 fichier1 fichier2
1 a
2 b
comm: le fichier 2 n'est pas dans l'ordre trié
1 A
3 c
comm: le fichier 1 n'est pas dans l'ordre trié
2 b
comm: l'entrée n'est pas dans l'ordre trié
Or vu le format de tes fichiers, il n'est pas évident que tes fichiers soient triés.
En tout cas, si tu observes un problème lié à ça, tu pourrais te rabattre du
diffpour extraire les lignes apparues dans le dernier fichier (ce sont celles qui commenceront par +).
diff --new-line-format="%L" --old-line-format="" --unchanged-line-format="" fichier1 fichier2
Pour plus de détails ou voir d'autres approches, voir cette discussion.
Bonne chance
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
14 sept. 2021 à 16:07
14 sept. 2021 à 16:07
Bonjour,
Il faudrait clarifier avec un petit exemple pour être sûr de comprendre ton problème.
Si j'ai bien compris tu as un buffer de 2000 lignes dont tu fais un dump toutes les heures de ce buffer, et tu veux à partir de ces dumps, reconstruire l'ensemble des lignes qui ont engendrées ces photos.
Ensuite, le fait que tu utilises comm laisse supposer que tes fichiers sont triés (e.g. parce que les lignes sont horodatées) -- je suppose qu'il s'agit d'une sorte de log.
Si c'est bien ça,
Après la question c'est est ce que le problème ne devrait pas être traité en amont, c'est-à-dire, au lieu de faire un dump périodique, ne faudrait-il pas plutôt que l'outil qui génère ses lignes utilise un logger (e.g.
Bonne chance
Il faudrait clarifier avec un petit exemple pour être sûr de comprendre ton problème.
Si j'ai bien compris tu as un buffer de 2000 lignes dont tu fais un dump toutes les heures de ce buffer, et tu veux à partir de ces dumps, reconstruire l'ensemble des lignes qui ont engendrées ces photos.
Ensuite, le fait que tu utilises comm laisse supposer que tes fichiers sont triés (e.g. parce que les lignes sont horodatées) -- je suppose qu'il s'agit d'une sorte de log.
Si c'est bien ça,
commme paraît très bien, car contrairement à
diff, il va exploiter le fait que tes fichiers sont triés (e.g. parce que les lignes sont horodatées, comme dans un log) et sera donc plus rapide que
diff.
Après la question c'est est ce que le problème ne devrait pas être traité en amont, c'est-à-dire, au lieu de faire un dump périodique, ne faudrait-il pas plutôt que l'outil qui génère ses lignes utilise un logger (e.g.
rsyslog) pour avoir un unique fichier mis à jour en temps réel.
Bonne chance
bob737
Messages postés
144
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
14 mars 2024
Modifié le 15 sept. 2021 à 11:33
Modifié le 15 sept. 2021 à 11:33
Bonjour et merci pour la réponse.
Non, je ne peux pas traiter en amont car l'API qui génère le fichier est limité à 1000 lignes. Chaque ligne correspond à 1 backup de 1 serveur.
J'ai l'impression que le sort avant le comm pose problème.
Exemple de résultat sur 1 ligne (très longue):
Merci.
Non, je ne peux pas traiter en amont car l'API qui génère le fichier est limité à 1000 lignes. Chaque ligne correspond à 1 backup de 1 serveur.
J'ai l'impression que le sort avant le comm pose problème.
Exemple de résultat sur 1 ligne (très longue):
cluster00,VEGA,SuccessfulWithWarnings,Backup,VirtualMachine:::a5d0fb55-4c5a-4734-96e3-c6cc3349c820-vm-95635,VmwareVirtualMachine,swucfraej949,sapifrfx1vc03.fr.intranet,SLA_UAT,2021-09-15T04:06:30.386Z,2021-09-15T04:09:54.849Z,2021-09-14T04:03:35.096Z,2021-09-16T04:00:00.000Z,false,LOCAL,0,1479737344,85899345920,20294282,204463,RVMHM193S001062,0,false,15,2021-03-19T19:48:56.931Z,vm-95635,sepifrfx11538.fr.intranet,SIR-WIN-INF-HP,poweredOn,2021-03-19T19:48:56.931Z,100.83.192.202,Unregistered,Microsoft Windows Server 2016 or later (64-bit),false,true,false,FAILED,sapifrfx1vc03.fr.intranet/SIRIUS/vm/VM_CLOUD/Windows,sapifrfx1vc03.fr.intranet/SIRIUS/SIR-WIN-INF-HP/sepifrfx11538.fr.intranet
cluster00,VEGA,SuccessfulWithWarnings,Backup,VirtualMachine:::a5d0fb55-4c5a-4734-96e3-c6cc3349c820-vm-95637,VmwareVirtualMachine,swucfraej172,sapifrfx1vc03.fr.intranet,SLA_UAT,2021-09-15T04:12:44.632Z,2021-09-15T04:15:26.143Z,2021-09-14T04:10:01.633Z,2021-09-16T04:00:00.000Z,false,LOCAL,0,1527316480,85899345920,25379558,161511,RVMHM193S000910,0,false,15,2021-03-19T19:47:17.363Z,vm-95637,sepifrfx10203.fr.intranet,VEG-WIN-INF-HP,poweredOn,2021-03-19T19:47:17.363Z,100.83.240.190,Unregistered,Microsoft Windows Server 2016 or later (64-bit),false,true,false,FAILED,sapifrfx1vc03.fr.intranet/VEGA/vm/VM_CLOUD/Windows,sapifrfx1vc03.fr.intranet/VEGA/VEG-WIN-INF-HP/sepifrfx10203.fr.intranet
Merci.
15 sept. 2021 à 16:41
Merci pour votre aide.
16 sept. 2021 à 12:04