Extraire lignes dont le debut est identique
Résolu/Fermé
Raoul555
Messages postés
9
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
25 août 2011
-
18 mai 2007 à 14:58
Raoul555 Messages postés 9 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 25 août 2011 - 19 mai 2007 à 10:58
Raoul555 Messages postés 9 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 25 août 2011 - 19 mai 2007 à 10:58
A voir également:
- Extraire lignes dont le debut est identique
- Extraire une video youtube - Guide
- Extraire son video - Guide
- Extraire image pdf - Guide
- Extraire fichier rar - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
7 réponses
Raoul555
Messages postés
9
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
25 août 2011
1
19 mai 2007 à 10:58
19 mai 2007 à 10:58
On m'a donné la solution. J'ai perdu beaucoup de temps avec cela, pourtant c'est tout simple :
join -j 1 -t \| Fichier1 Fichier2
Merci lami20j de ton aide.
join -j 1 -t \| Fichier1 Fichier2
Merci lami20j de ton aide.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
18 mai 2007 à 16:05
18 mai 2007 à 16:05
Est-ce que dans le fichier 1 toutes les lignes sont différentes ou peut-il y avoir des lignes identiques ?
Raoul555
Messages postés
9
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
25 août 2011
1
18 mai 2007 à 16:10
18 mai 2007 à 16:10
Oui, toutes les lignes sont identiques dans les deux fichiers
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 mai 2007 à 16:18
18 mai 2007 à 16:18
Salut,
je n'ai pas testé
j'ai supposé que le délimitéur de champs et un espace
je n'ai pas testé
j'ai supposé que le délimitéur de champs et un espace
#!/usr/bin/perl use strict;use warnings; open LIRE,"fic2.txt" or die "E/S : $!\n"; while( my $l = <LIRE>){ print if grep { /${\( (split " ",$l)[0] )}/ } `cat fic1.txt`; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 mai 2007 à 16:32
18 mai 2007 à 16:32
Voici le test (j'ai crée 2 fichiers bidon 29 millions lignes et 40 millions lignes) - j'ai chronométré - 41 secondes
https://www.cjoint.com/?fsqEIjdcSG
https://www.cjoint.com/?fsqEIjdcSG
Raoul555
Messages postés
9
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
25 août 2011
1
18 mai 2007 à 16:43
18 mai 2007 à 16:43
Je suis impressioné. Mais chez moi, cela ne marche pas. J'ai un message "Out of memory" avec 16Go de Ram!
Au fait, je ne connais pas trop le perl. Mon séparateur est le pipe. C'est bien cela alors?
Au fait, je ne connais pas trop le perl. Mon séparateur est le pipe. C'est bien cela alors?
#!/usr/bin/perl open LIRE,"SneAndHrncFile.unl" or die "E/S : $!\n"; while( my $l = <LIRE>){ print if grep { /${\( (split "|",$l)[0] )}/ } `cat EnabledVouchers.txt`; }
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
18 mai 2007 à 16:48
18 mai 2007 à 16:48
J'ai un message "Out of memory" avec 16Go de Ram!
Moi je n'ai que 256 Mo sur mon pc?!
Bizarre!! Je vais voir à la maison (à vrai dire j'aurais aimer faire un test réel avec tes fichiers)
Moi je n'ai que 256 Mo sur mon pc?!
Bizarre!! Je vais voir à la maison (à vrai dire j'aurais aimer faire un test réel avec tes fichiers)