Éliminer les doublons dans un fichier
Résolu/Fermé
poiuytreza01234567890
Messages postés
54
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
4 avril 2013
-
Modifié par poiuytreza01234567890 le 22/01/2013 à 21:28
Utilisateur anonyme - 23 janv. 2013 à 21:06
Utilisateur anonyme - 23 janv. 2013 à 21:06
A voir également:
- Éliminer les doublons dans un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
3 réponses
dubcek
Messages postés
18757
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
19 décembre 2024
5 623
23 janv. 2013 à 12:25
23 janv. 2013 à 12:25
hello
$ cat fichier A B C D C C B A D A $ awk '{split($0, a); asort(a); s=a[1] a[2]; if(!t[s]++ && (a[1] != a[2]))print $0}' fichier A B C D D A $
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
23 janv. 2013 à 10:44
23 janv. 2013 à 10:44
En bash c'est un peu compliqué car tu dois mémoriser toutes les lignes que tu as croisé. Si il n' y a pas de contraintes sur l'ordre dans lequel sorte les lignes c'est déjà plus facile, tu peux boucler sur chaque ligne de sorte à ce que la première lettre précède toujours la seconde dans l'ordre alphabétique), mais je n'ai pas l'impression qu'il y ait d'opérateur -lt ou < pour le texte en bash. Du coup awk est peut être plus adapté pour cette partie.
Ensuite tu rajoutes un | sort | uniq derrière et l'affaire est dans le sac.
Ensuite tu rajoutes un | sort | uniq derrière et l'affaire est dans le sac.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
23 janv. 2013 à 10:53
23 janv. 2013 à 10:53
Salut mamie,
mais je n'ai pas l'impression qu'il y ait d'opérateur -lt ou < pour le texte en bash.
Si, depuis bash 4 c'est possibeul ;-))
Extrait du man bash :
mais je n'ai pas l'impression qu'il y ait d'opérateur -lt ou < pour le texte en bash.
Si, depuis bash 4 c'est possibeul ;-))
Extrait du man bash :
Lorsqu'ils sont utilisés avec [[, les opérateurs < et > ordonnent d'un point de vue lexicographique en utilisant les paramètres linguistiques régionaux courants.
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
23 janv. 2013 à 19:18
23 janv. 2013 à 19:18
Ah parfait :-) Ce matin j'avais essayé avec des crochets simples et ça ne marchait pas, c'était donc juste ça :-)
poiuytreza01234567890
Messages postés
54
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
4 avril 2013
23 janv. 2013 à 10:45
23 janv. 2013 à 10:45
Merci