Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1241 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  awk tri fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

awk tri fichier

n°1698979
flora806
Posté le 07-03-2008 à 16:03:27  profilanswer
 

Bonjour,
j'utilise AWK et je voudrais effectuer un tri à partir d'un fichier txt sous forme de:
client 1;produit1;val
client 1;produit2;val
client 1;produit3;val
client 1;produit4;val
client 1;produit5;val
.....
client 2;produit1;val
client 2;produit2;val
client 2;produit3;val
....
mon tri consiste à trier par client et par val (récupérer les val supérieures) et afficher uniquement les 10 premières lignes par client:
j'ai utilisé la commande suivante:
$ awk -F";" ' { print $1,$2,$3 } ' C:/data.txt | sort -n -k 1 -r -k 3| head -n 10| cat > C:/dataTri.txt
 
cette commande permet uniquement d'afficher les 10 résultats triés pour un seul client et non pas pour TOUS les clients.
Merci pour votre aide.

mood
Publicité
Posté le 07-03-2008 à 16:03:27  profilanswer
 

n°1699303
Sve@r
Posté le 08-03-2008 à 17:07:51  profilanswer
 

Ben ce genre d'algo est un peu évolué et ne se développera pas en une seule ligne de commande !!!
 

Code :
  1. #!/bin/sh
  2. lim=10
  3. # Tri du fichier et traitement ligne par ligne
  4. sort -k1 -r -n -k3 fichier_client.txt |while read ligne
  5. do
  6.      client=`echo $ligne |cut -f1 -d\;`
  7.     # A chaque changement de client
  8.     if test "$client" != "$mem"
  9.     then
  10.          # On mémorise le client et on réinitialise le cpt
  11.          mem="$client"
  12.          cpt=0
  13.     fi
  14.     # Si le compteur est inférieur à la limite on affiche la ligne
  15.     test $cpt -lt $lim && echo "$ligne"
  16.     # Le compteur s'incrémente
  17.     cpt=`expr $cpt + 1`
  18. done


Message édité par Sve@r le 08-03-2008 à 20:38:50

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  awk tri fichier

 

Sujets relatifs
Récupération données .html dans un fichier .txt[XSL]Appliquer une feuille de style sur un fichier résultat
[PHP] Lire/Modifier/Enregistrer fichier .txtpasser d'une classe a une autre dans un fichier differend??
Lecture d'un fichier binaireDivergence de compteur entre fichier et BDD
[javascript] Reload d'un div de fichier phpJoindre un certificat numérique à un fichier d'instal
Convertir un fichier .txt en ".iges" ou ".step" ou ".dxf" 
Plus de sujets relatifs à : awk tri fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR