AWK recherche dans un fichier a entete - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 11-03-2010 à 15:26:00
pour compliquer la chose, la ligne qui contient les entente est en fait la 4iem lignes du fichier
Marsh Posté le 11-03-2010 à 16:11:20
Z_cool a écrit : pour compliquer la chose, la ligne qui contient les entente est en fait la 4iem lignes du fichier |
Recuperer la ligne X
cat PWET|awk 'NR == X {print;}'
PWET, c'est mon fichier texte, bien sûr.
Marsh Posté le 11-03-2010 à 22:51:58
Fork Bomb a écrit : |
Useless use of cat :
awk 'NR == X {print;}' PWET |
Marsh Posté le 12-03-2010 à 11:31:48
en fait, cela m'affiche la ligne X en question qui contient les noms de colonnes
a partir de ca, j'aimerais pourvoir faire un :
awk '$prenom~/Math/ {print $age, $nom}' PWET
c'est possible ca ?
Marsh Posté le 12-03-2010 à 12:38:06
ReplyMarsh Posté le 22-03-2010 à 19:24:20
Pour recuperer un champ par son nom :
Code :
|
Code :
|
Marsh Posté le 26-03-2010 à 12:38:28
awk 'NR>k{print $k}' k=$(awk 'NR==4{ for (i=1;i<=NF;i++) { if ($i ~ "Math" ) {print i; exit;} } }' Fichier.log) Fichier.log |
4 = n° de ligne où se trouvent les entêtes. A déterminer avec un grep si besoin de généraliser encore.
"Math": l'entête voulue contient "Math". On peut remplacer par un == pour un match exact.
Marsh Posté le 28-04-2010 à 15:00:00
Re-salut tout le monde.
Bon, j'ai pas mal avancé sur mon problème mais je me retrouve face a un autre. En fait j'utilise AWK sous windows, avec la ligne de commande :
awk -v date=%date% -v server=%COMPUTERNAME% -f c:\scriptawkConfig.txt L:\Proxylog\ISALOG_%lastDayLogFile%_WEB_00*.w3c
Le fichier c:\script\awkConfig.txt:
BEGIN { NR == 4 { NR > 4 && $MalwareLevel!~/-/ && $1!~/#/ {print $clientIP, $csusername, $Fdate, $Ftime, $ThreatName, $csuri ,$csreferred > server"_Report_Virus_"date".csv"} NR > 4 && ($rip~/10.4.98.225/ || $rip~/10.4.98.227/) && $1!~/#/ { print $clientIP, $csusername, $Fdate, $Ftime, $csuri, $rip > server"_Internet_Trafic_"date".csv"} |
Je génère donc deux fichiers CSV a partir d'un autre, mais tout deux sont placé dans le répertoire d'exécution, j'aurais voulus les mettre sur une autre partition avec un truc du genre :
.....> "d:\"server"_Internet_Trafic_"date".csv" |
mais le "\" semble poser pas mal de problème.
une idée ?
Marsh Posté le 03-05-2010 à 12:52:53
C'est un caractère spécial, faut pas juste le doubler
.....> "d:\\"server"_Internet_Trafic_"date".csv" |
Marsh Posté le 11-03-2010 à 15:24:44
Salut,
Je cehrche a me faire un script AWK assé particulier pour rechercher dans une fichier de log qui contient une entete.
Pas exemple :
nom prénom age
tata Annabelle 12
Mireille Math 3
tutu berth 25
Je pourrais le faire avec $1, $2. mais le problème c'est que le fichier source est susceptible d'évoluer. j'aurais aimer le faire avec $nom $prenom,...
et j'ai pas trouvé de solution pour ca.
une idée ?
---------------
#mais-chut