AWK sous Unix

AWK sous Unix - Shell/Batch - Programmation

Marsh Posté le 19-02-2003 à 13:28:44    

Salut
 
je voudrais savoir si il y avait quelqu'un par ici qui si connaissai en programmtion shell sous Unix avec la commande AWK
 
voilou pour plus d'info poser moi vos questions
 
Merci

Reply

Marsh Posté le 19-02-2003 à 13:28:44   

Reply

Marsh Posté le 19-02-2003 à 13:31:54    

ben moi, ca m'arrive de l'utiliser de temps a autre, mais de la a maitriser ...
 
perso, j'ai pas de question a te poser :D Bizarre ca, en general, c'est dans l'autre sens qu'on procede ...

Reply

Marsh Posté le 19-02-2003 à 13:34:59    

ba je vais te donner un exemple très simple :
 
j'ai un fichier txt sous cette forme :
 
 
truc tutu 12:01:02 machin
.....
.....
.....
blabla
 
et je voudrais extraire des lignes particulieres en fontion de la 3 ème colonne qui est dans ce cas la 12:01:02
 
et je doit faire çà en korn shell avec script awk, sed, grep ou autre si çà peut marcher
 
voilou

Reply

Marsh Posté le 19-02-2003 à 13:39:34    

http://www.shellunix.com/
 
edit: plus les man, bien évidemment


Message édité par Taz le 19-02-2003 à 13:41:20
Reply

Marsh Posté le 19-02-2003 à 13:46:52    

A la limite je te file un exemple :
 


#!/bin/sh
 
parse_file() {
    for file in `ls $1 | grep out.txt`
    do
      # recuperation du bitrate
      RESULT=`awk '{if ($1 == "Bit" && $2 == "rate" ) print $8 }' $1/$file`
      echo "$file   bitrate            = $RESULT"
    done
}                                                                                          
#...

 
ca ca me parse le repertoire passe en parametre 1, et pour chaque fichier, m'affiche le 8eme champ des lignes qui contiennent "Bit" en 1er champ et "rate" en 2eme champ.
 
Voila, je sais pas trop si ca t'aide ...
sinon avec google, tu porras facilement des pages interressantes .

Reply

Marsh Posté le 19-02-2003 à 13:56:54    

oué çà m'aide mais maintenant si je veux comparer un champ de ce fichier avec un autre champ d'autre fichier comment faire??
 
exemple :
 
je veu comparer truc avec machin (dans 2 fichier différents)
 
et je veux sélectionner que les lignes qui contiennent machin (par exemple)
 
comment faire?

Reply

Marsh Posté le 19-02-2003 à 14:04:46    

un truc du genre (la syntaxe est pas forcement la bonne, gé souvent de pb  :D )

#!/bin/sh
 
parse_file() {
  truc=`awk '{if ($1 == "chaine_recherchee" print $2 }' premier_fichier`
  `awk '{ $1 == $truc }' deuxieme_fichier`
}                                                                                          
#...

Reply

Marsh Posté le 19-02-2003 à 14:09:46    

merci pour ton aide
 
j'essayeré de me débrouiller  
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed