[Shell-script] suppresion lignes identiques
Phil
-
tlep Messages postés 597 Statut Membre -
tlep Messages postés 597 Statut Membre -
Bonjour à tous.
J'ai un fichier du type :
Comme vous pouvez le voir il y a des lignes dont les colonnes 'lat' et 'lon' sont identique. Je cherche à trier mon fichier pour faire en sorte de ne garder qu'une ligne par couple de 'lat' et 'lon'.
Pour cet exemple cela donnerais :
Je précise que le but du script est de supprimer les lignes superflues, l'important étant de garder un couple de 'lat' et 'lon'.
Je crois que la commande 'sort -u' permet de faire ce genre d'opération mais je ne sais pas comment lui indiquer quelle colonnes regarder.
Any ideas ???
Merçi d'avance :)
J'ai un fichier du type :
Date Time lat Lon Pha Dist Sta 2004/01/01 01:06:56.0 71.1426 -14.6447 P 2.50 SCO 2004/01/01 01:08:48.1 71.1426 -14.6447 P 10.25 KBS 2004/01/01 01:08:54.8 71.1426 -14.6447 P 10.64 SPB4 2004/01/01 01:44:17.0 38.3826 21.6384 P 1.96 VLI 2004/01/01 01:44:21.3 38.3826 21.6384 S 1.10 LKR 2004/01/01 02:32:33.1 11.7330 43.4560 P 2.28 UDYN 2004/01/01 02:32:41.6 11.7330 43.4560 P 2.95 DHBB
Comme vous pouvez le voir il y a des lignes dont les colonnes 'lat' et 'lon' sont identique. Je cherche à trier mon fichier pour faire en sorte de ne garder qu'une ligne par couple de 'lat' et 'lon'.
Pour cet exemple cela donnerais :
Date Time lat Lon Pha Dist Sta 2004/01/01 01:06:56.0 71.1426 -14.6447 P 2.50 SCO 2004/01/01 01:44:17.0 38.3826 21.6384 P 1.96 VLI 2004/01/01 02:32:33.1 11.7330 43.4560 P 2.28 UDYN
Je précise que le but du script est de supprimer les lignes superflues, l'important étant de garder un couple de 'lat' et 'lon'.
Je crois que la commande 'sort -u' permet de faire ce genre d'opération mais je ne sais pas comment lui indiquer quelle colonnes regarder.
Any ideas ???
Merçi d'avance :)
A voir également:
- [Shell-script] suppresion lignes identiques
- Classic shell - Télécharger - Personnalisation
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Les noms des fichiers source et destination sont identiques ✓ - Forum Disque dur / SSD
2 réponses
Ben perso je ferais 2 boucles imbriquées :
while read ligne
A l'intérieur de cette boucle je passerais dans un tableau la concaténation des 2 colonnes 'lat' et 'lon';
A chaque lecture de ligne, vérifier si le résultat existe dans ton tableau (en bouclant dessus).
Si non, j'ajoute la concaténation au tableau et je mémorise la ligne (ou l'envoie dans un fichier de sortie).
done < mon_fichier
Mais bon y'a surement plus propre ;-)
while read ligne
A l'intérieur de cette boucle je passerais dans un tableau la concaténation des 2 colonnes 'lat' et 'lon';
A chaque lecture de ligne, vérifier si le résultat existe dans ton tableau (en bouclant dessus).
Si non, j'ajoute la concaténation au tableau et je mémorise la ligne (ou l'envoie dans un fichier de sortie).
done < mon_fichier
Mais bon y'a surement plus propre ;-)