Awk : tri de fichier et recuperation de ligne
Fermé
flora806
-
7 mars 2008 à 15:28
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 7 mars 2008 à 16:53
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 7 mars 2008 à 16:53
A voir également:
- Awk : tri de fichier et recuperation de ligne
- DNS_PROBE_FINISHED_NXDOMAIN : dnsapi.dll (Win32:Patched-AWK) ✓ - Forum Virus
- Fonctionnement de foreach et awk et set ✓ - Forum Shell
- Supprimer des lignes avec awk ou sed ✓ - Forum Shell
- Commande bash awk, comment mettre en variables. ✓ - Forum Linux / Unix
- Commande équivalent à Sed, awk, tail,head en powershell ! - Forum Shell
4 réponses
ctiti60
Messages postés
1017
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
27 mai 2021
70
7 mars 2008 à 15:37
7 mars 2008 à 15:37
Salut,
Si j'ai bien compris, tu veux les 10 val supérieurs pour le client1 et pour le client 2, ... ?
Si j'ai bien compris, tu veux les 10 val supérieurs pour le client1 et pour le client 2, ... ?
ctiti60
Messages postés
1017
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
27 mai 2021
70
7 mars 2008 à 15:48
7 mars 2008 à 15:48
Sauf si mon shell est trop rouillé, si tu fais un head -n 10 , tu ne pourras avoir que 10 résultats à l'écran donc comment espères-tu avoir 10 * nb clients lignes en sortie ?
Soit découpes ton fichier en autant de client soit il va falloir faire un script un peu plus compliqué à mon avis.
Soit découpes ton fichier en autant de client soit il va falloir faire un script un peu plus compliqué à mon avis.
ctiti60
Messages postés
1017
Date d'inscription
lundi 22 octobre 2007
Statut
Membre
Dernière intervention
27 mai 2021
70
7 mars 2008 à 16:12
7 mars 2008 à 16:12
En fait, tu essayes de faire ce que les bases de données font. La solution ne sera pas si facile et je ne sais pas si un enchainement de commandes de type shell va pouvoir résoudre ton problème.
Ton raisonnement est bon pour un client. Il faudrait que tu découpes ton fichier client par client puis que tu utilises ta commande sur chaque fichier.
Il y a certainement d'autres solutions, mais c'est tout ce que j'ai tout de suite là
Ton raisonnement est bon pour un client. Il faudrait que tu découpes ton fichier client par client puis que tu utilises ta commande sur chaque fichier.
Il y a certainement d'autres solutions, mais c'est tout ce que j'ai tout de suite là
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
7 mars 2008 à 16:53
7 mars 2008 à 16:53
Salut,
Essaie ça :
Essaie ça :
while read line do grep "$line" C:/data.txt | sort -n -k 1 -r -k 3 | head -n 10 >> C:/dataTri.txt done < <(awk -F";" '{ print $1 }' C:/data.txt | sort -u);-))
7 mars 2008 à 15:43