Lecture colonne jusqu'a variable

Résolu
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -  
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voilà mon problème: j'ai un fichier du type:

konsole@home> cat fichier_tri
50.000 48.000 -1.0
52.000 25.000 -1.2
53.000 29.000 -0.5
55.000 58.000 1.5
56.000 68.000 2.5
...


je voudrais écrire dans un autre fichier la colonne 2 et 3 avec uniquement les valeurs supérieures à 48.00 dans la colonne 1 du nouveau fichier.

pour le moment j'ai:

# suppression colonne 3 
# tri dans l'ordre décroissant sur la colonne 1
cat fichier_raw | awk '{print $1, $2, $4}' > tmp
sort -n tmp > fichier_tri

# definition de la variable "limite de recherche"
LIMIT='head -1 fichier_tri | awk '{print $2}''


il me manque la partie expliquée plus haut comment à partir de fichier_tri

arrivé à:

konsole@home> cat fichier_fini
48.000 -1.0
58.000 1.5
68.000 2.5
...


3 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    $ cat fich.txt 
    50.000 48.000 -1.0
    52.000 25.000 -1.2
    53.000 29.000 -0.5
    55.000 58.000 1.5
    56.000 68.000 2.5
    
    $ awk '$2 >= 48 { print $2,$3 }' fich.txt 
    48.000 -1.0
    58.000 1.5
    68.000 2.5

    ;-))
    2
  2. snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   139
     
    merci bien!!

    j'etais parti dans les while read line, test et Cie...
    0
  3. snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   139
     
    le problème que je recontre maintenant est, que codé en dur 48 fonctionne par contre, si 48 se trouve dans une variable

     
    Xmax='sort -nr fich.txt | tail -1 | awk '{print $2}''
    awk '$2 >= $Xmax { print $2,$3 }' fich.txt 


    n'a pas l'air de fonctionner...

    une idée ?
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      awk '$2 >= '"$Xmax"' { print $2,$3 }' fich.txt 
      ou
      awk -v X=$Xmax '$2 >= X { print $2,$3 }' fich.txt 
      0
    2. snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   139
       
      merci une fois de plus...
      0