Script bash colonne de fichier

Résolu/Fermé
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 11 sept. 2009 à 12:38
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 - 14 sept. 2009 à 18:14
Bonjour,

J'imagine que cette question va paraitre simple pour la plupart mais je suis dépassé.

Je voudrais faire ressortir les lignes d'un fichier ayant une valeur importante dans la dernière colonne (ecart en ms)

le but est de n'afficher que les lignes pour lesquelles cette valeur dépasse une certaine limite variable ...

voici un extrait de fichier (ps j'ai essayé les colonnes de base avec cut mais je suis dépassé) :

----------lap time----------    apres select du nom     --      557 ms --       ecart   557     ms      --
----------lap time----------    apres select du de la tranche si existante      --      602 ms --       ecart   44      ms      --
----------lap time----------    Début du check sur les tranches anciennes à réactiver   --      602 ms --       ecart   0       ms      --
----------lap time----------    Après selection des tranches_envois trop anciennes >    --      717 ms --       ecart   115     ms      --
----------lap time----------    debut de la gestion de la tranche       --      717 ms --       ecart   0       ms      --
----------lap time----------    Après selection du mail_code    --      722 ms --       ecart   5       ms      --
----------lap time----------    Avant selection des infos dans newsletter2      --      722 ms --       ecart   0       ms      --
----------lap time----------    Debut de la tranche     --      739 ms --       ecart   17      ms      --
----------lap time----------    Avant selection dans mailler2   --      747 ms --       ecart   8       ms      --
----------lap time----------    Après selection dans mailler2   --      927 ms --       ecart   181     ms      --
----------lap time----------    Debut boucle    --      927 ms --       ecart   0       ms      --
----------lap time----------    Fin boucle      --      20427 ms --     ecart   19499   ms      --
----------lap time----------    Après update mailler2   --      20434 ms --     ecart   7       ms      --
----------lap time----------    Après updates tranches_envois et newsletter2    --      20471 ms --     ecart   37      ms      --
----------lap time----------    FIN     --      20720 ms --     ecart   249     ms      --
----------lap time----------
----------lap time----------    apres select du nom     --      3439 ms --      ecart   3439    ms      --
----------lap time----------    apres select du de la tranche si existante      --      3483 ms --      ecart   44      ms      --
----------lap time----------    apres select de la tranche      --      3608 ms --      ecart   125     ms      --
----------lap time----------
----------lap time----------    apres select du nom     --      54 ms --        ecart   54      ms      --
----------lap time----------    apres select du de la tranche si existante      --      94 ms --        ecart   40      ms      --
----------lap time----------    Début du check sur les tranches anciennes à réactiver   --      94 ms --        ecart   0       ms      --
----------lap time----------    Après selection des tranches_envois trop anciennes >    --      193 ms --       ecart   99      ms      --
----------lap time----------    debut de la gestion de la tranche       --      193 ms --       ecart   0       ms      --
----------lap time----------    Après selection du mail_code    --      200 ms --       ecart   7       ms      --
----------lap time----------    Avant selection des infos dans newsletter2      --      200 ms --       ecart   0       ms      --
----------lap time----------    Debut de la tranche     --      212 ms --       ecart   12      ms      --
----------lap time----------    Avant selection dans mailler2   --      218 ms --       ecart   7       ms      --
----------lap time----------    Après selection dans mailler2   --      1690 ms --      ecart   1472    ms      --
----------lap time----------    Debut boucle    --      1690 ms --      ecart   0       ms      --
----------lap time----------    Fin boucle      --      21461 ms --     ecart   19771   ms      --
----------lap time----------    Après update mailler2   --      21466 ms --     ecart   5       ms      --
----------lap time----------    Après updates tranches_envois et newsletter2    --      21490 ms --     ecart   24      ms      --
----------lap time----------    FIN     --      22468 ms --     ecart   978     ms      --
----------lap time----------
----------lap time----------    apres select du nom     --      2230 ms --      ecart   2230    ms      --
----------lap time----------    apres select du de la tranche si existante      --      2289 ms --      ecart   59      ms      --
----------lap time----------    apres select de la tranche      --      2393 ms --      ecart   104     ms      --
----------lap time----------
----------lap time----------    apres select du nom     --      2053 ms --      ecart   2053    ms      --
----------lap time----------    apres select du de la tranche si existante      --      2102 ms --      ecart   49      ms      --
----------lap time----------    Début du check sur les tranches anciennes à réactiver   --      2102 ms --      ecart   0       ms      --
----------lap time----------    Après selection des tranches_envois trop anciennes >    --      2203 ms --      ecart   102     ms      --
----------lap time----------    debut de la gestion de la tranche       --      2204 ms --      ecart   0       ms      --
----------lap time----------    Après selection du mail_code    --      2212 ms --      ecart   8       ms      --
----------lap time----------    Avant selection des infos dans newsletter2      --      2212 ms --      ecart   0       ms      --
----------lap time----------    Debut de la tranche     --      2223 ms --      ecart   11      ms      --
----------lap time----------    Avant selection dans mailler2   --      2248 ms --      ecart   25      ms      --
----------lap time----------    Après selection dans mailler2   --      3919 ms --      ecart   1671    ms      --
----------lap time----------    Debut boucle    --      3919 ms --      ecart   0       ms      --
----------lap time----------    Fin boucle      --      24306 ms --     ecart   20386   ms      --
----------lap time----------    Après update mailler2   --      24311 ms --     ecart   6       ms      --
----------lap time----------    Après updates tranches_envois et newsletter2    --      24335 ms --     ecart   24      ms      --
----------lap time----------    FIN     --      24654 ms --     ecart   318     ms      --
----------lap time----------
----------lap time----------
----------lap time----------
----------lap time----------
----------lap time----------
----------lap time----------
----------lap time----------
----------lap time----------


merci d'avance.

Stéphane
A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 sept. 2009 à 12:59
hello
quelque chose comme ça, le fichier a3 contient tes données ?
 MAX=5000
$ awk 'NF > 4 && $(NF-2) > '"$MAX"'{ print $0}' < a3
----------lap time----------    Fin boucle      --      20427 ms --     ecart   19499   ms      --
----------lap time----------    Fin boucle      --      21461 ms --     ecart   19771   ms      --
----------lap time----------    Fin boucle      --      24306 ms --     ecart   20386   ms      --
$
$ MAX=2000
$ awk 'NF > 4 && $(NF-2) > '"$MAX"'{ print $0}' < a3
----------lap time----------    Fin boucle      --      20427 ms --     ecart   19499   ms      --
----------lap time----------    apres select du nom     --      3439 ms --      ecart   3439    ms      --
----------lap time----------    Fin boucle      --      21461 ms --     ecart   19771   ms      --
----------lap time----------    apres select du nom     --      2230 ms --      ecart   2230    ms      --
----------lap time----------    apres select du nom     --      2053 ms --      ecart   2053    ms      --
----------lap time----------    Fin boucle      --      24306 ms --     ecart   20386   ms      --
1
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
11 sept. 2009 à 17:25
Bonjour,

Et si on corsait un peu ?

Au lieu de renvoyer la ligne, je voudrais juste le message central et le delais du ecart ? message qui n'as pas toujours le même nombre de mots mais qui est TOUJOURS entre :

----------lap time----------    message de plusieurs mot variables     --


Merci d'avance.

Stéphane
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
11 sept. 2009 à 14:00
fabuleux ...en 1 seule ligne ... incroyable.

MERCI

Stéphane
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
11 sept. 2009 à 18:30
comme ça ?
$ MAX=2000
$ awk 'BEGIN{OFS=FS} ; NF > 4 && $(NF-2) > '"$MAX"'{$1=$2=$NF=""; print $0}' < a3
  Fin boucle -- 20427 ms -- ecart 19499 ms 
  apres select du nom -- 3439 ms -- ecart 3439 ms 
  Fin boucle -- 21461 ms -- ecart 19771 ms 
  apres select du nom -- 2230 ms -- ecart 2230 ms 
  apres select du nom -- 2053 ms -- ecart 2053 ms 
  Fin boucle -- 24306 ms -- ecart 20386 ms 
$ MAX=5000
$ awk 'BEGIN{OFS=FS} ; NF > 4 && $(NF-2) > '"$MAX"'{$1=$2=$NF=""; print $0}' < a3
  Fin boucle -- 20427 ms -- ecart 19499 ms 
  Fin boucle -- 21461 ms -- ecart 19771 ms 
  Fin boucle -- 24306 ms -- ecart 20386 ms 
$ 
0
sbouli Messages postés 200 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 14 août 2014 2
14 sept. 2009 à 18:14
excellent !

Merci
0