Extraire des valeurs d'un fichier
Fermé
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
-
5 févr. 2009 à 09:42
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 - 5 févr. 2009 à 12:43
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 - 5 févr. 2009 à 12:43
A voir également:
- Extraire des valeurs d'un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Extraire une video youtube - Guide
- Ouvrir un fichier .bin - Guide
5 réponses
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
5 févr. 2009 à 09:57
5 févr. 2009 à 09:57
je viens de modifier un peu le script :
sur cette ligne là j'ai mis "==" ou lieu de "="
awk -F" " '{ if ((( $7 = "notifresp_ind" ) || ( $7 = "HTTP_GET" )) && (( $10 == "200") || ( $10 == "202")))
Je lance et on vera si ça marche mais si vous avez des idées n'hésitez pas ! :)
Merci.
Cordialement,
sur cette ligne là j'ai mis "==" ou lieu de "="
awk -F" " '{ if ((( $7 = "notifresp_ind" ) || ( $7 = "HTTP_GET" )) && (( $10 == "200") || ( $10 == "202")))
Je lance et on vera si ça marche mais si vous avez des idées n'hésitez pas ! :)
Merci.
Cordialement,
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
5 févr. 2009 à 10:28
5 févr. 2009 à 10:28
Salut,
awk '$7 ~ /HTTP_GET/ || /notifresp_ind/ && $10 ~ /200/ || /202/ {print $7}'
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
5 févr. 2009 à 10:53
5 févr. 2009 à 10:53
Donc je fais un truc comme ça ?
#!/bin/sh
if [ -f result ]
then
rm result
fi
while read line;
do
echo $line > temp
awk '$7 ~ /HTTP_GET/ || /notifresp_ind/ && $10 ~ /200/ || /202/ {print $7}' temp >> result
done < ding
awk 'END {print NR}' result
exit
Donc là il me sortira dans le fichier result à chaque fois qu'il trouve dans le fichier ding $7 = HTTP_GET ou m_notifresp_ind et quand il trouve ça dans une ligne il vérifie si $10 est égal à 200 ou 202 c'est ça ?
Merci en tout cas je continue de chercher.
Cordialement,
#!/bin/sh
if [ -f result ]
then
rm result
fi
while read line;
do
echo $line > temp
awk '$7 ~ /HTTP_GET/ || /notifresp_ind/ && $10 ~ /200/ || /202/ {print $7}' temp >> result
done < ding
awk 'END {print NR}' result
exit
Donc là il me sortira dans le fichier result à chaque fois qu'il trouve dans le fichier ding $7 = HTTP_GET ou m_notifresp_ind et quand il trouve ça dans une ligne il vérifie si $10 est égal à 200 ou 202 c'est ça ?
Merci en tout cas je continue de chercher.
Cordialement,
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
>
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5 févr. 2009 à 11:01
5 févr. 2009 à 11:01
je viens d'essayer ce qui est au dessus et en fait il me retourne des lignes que je veux pas.
C'est ça dire que j'ai des lignes où j'ai à la place de m_notifresp_ind, j'ai m_notification_ind et en fait il me sort les lignes où ya m_notification_ind dedans
Ce que je souhaite c'est faire une sorte de (HTTP_GET || m_notifresp_ind) && ( 200 || 202 ) sur un fichier et mettre le résultat (donc le print $7) dans un fichier et après compter le nombre de ligne dans le fichier générer où ya les résultat.
J'espère avoir été clair :)
Merci.
Cordialement,
C'est ça dire que j'ai des lignes où j'ai à la place de m_notifresp_ind, j'ai m_notification_ind et en fait il me sort les lignes où ya m_notification_ind dedans
Ce que je souhaite c'est faire une sorte de (HTTP_GET || m_notifresp_ind) && ( 200 || 202 ) sur un fichier et mettre le résultat (donc le print $7) dans un fichier et après compter le nombre de ligne dans le fichier générer où ya les résultat.
J'espère avoir été clair :)
Merci.
Cordialement,
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
5 févr. 2009 à 11:11
5 févr. 2009 à 11:11
Ben chez moi ça marche avec l'exemple de ton fichier :
Peut être nous faudrait-il davantage de lignes (non sollicitées) dans le fichier pour faire les essais...
jp@MDK:~/tmpfs ssh$ cat fich wmmlb02: 2009-02-04 14:01:46,517 10.101.111.111 - +33600014541 HTTP_GET 52454545@ N/A 200 2 false N/A - - - 29 eri 21091 wmmlb02: 2009-02-04 14:01:46,517 10.101.111.111 - +33600014541 notifresp_ind 52454545@ N/A 200 2 false N/A - - - 29 eri 21091 wmmlb02: 2009-02-04 14:01:46,517 10.101.111.111 - +33600014541 HTTP_GET 52454545@ N/A 202 2 false N/A - - - 29 eri 21091 wmmlb02: 2009-02-04 14:01:46,517 10.101.111.111 - +33600014541 notifresp_ind 52454545@ N/A 205 2 false N/A - - - 29 eri 21091 jp@MDK:~/tmpfs ssh$ awk '$7 ~ /HTTP_GET/ || /notifresp_ind/ && $10 ~ /200/ || /202/ {print NR,$7}' fich 1 HTTP_GET 2 notifresp_ind 3 HTTP_GET jp@MDK:~/tmpfs ssh$J'ai rajouté le numéro de ligne devant en sortie...
Peut être nous faudrait-il davantage de lignes (non sollicitées) dans le fichier pour faire les essais...
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
5 févr. 2009 à 11:39
5 févr. 2009 à 11:39
Regarde le fichier ding par exemple :
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 HTTP_GET 9784304400@ N/A 200 2 false N/A - - - 29 eri 21091
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 205 2 false N/A - - - 29 eri 21091
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 207 2 false N/A - - - 10.10.10.10
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 203 2 false N/A - - - 29 eri 21091
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 202 2 false N/A - - - 29 eri 21091
wmmlb03: 2009-02-04 14:15:33,585 10.10.10.10 - +33010101010 m_notification_ind 6342238308@ N/A 202 0 false N/A - - - 26 eii +332348349743/TYPE=PLMN
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 HTTPsdfsdf_GET 9784304400@ N/A 200 2 false N/A - - - 29 eri 21091
Tu copie ces lignes dans un fichier et tu execute ton awk sur ce fichier et tu vera il te sort m_notification_ind
En tout cas moi il me le sort et je sais pas pourquoi.
Merci.
Cordialement,
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 HTTP_GET 9784304400@ N/A 200 2 false N/A - - - 29 eri 21091
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 205 2 false N/A - - - 29 eri 21091
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 207 2 false N/A - - - 10.10.10.10
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 203 2 false N/A - - - 29 eri 21091
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 m_notifresp_ind 9784304400@ N/A 202 2 false N/A - - - 29 eri 21091
wmmlb03: 2009-02-04 14:15:33,585 10.10.10.10 - +33010101010 m_notification_ind 6342238308@ N/A 202 0 false N/A - - - 26 eii +332348349743/TYPE=PLMN
wmmlb02: 2009-02-04 14:01:46,517 10.10.10.10 - +33010101010 HTTPsdfsdf_GET 9784304400@ N/A 200 2 false N/A - - - 29 eri 21091
Tu copie ces lignes dans un fichier et tu execute ton awk sur ce fichier et tu vera il te sort m_notification_ind
En tout cas moi il me le sort et je sais pas pourquoi.
Merci.
Cordialement,
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
5 févr. 2009 à 11:54
5 févr. 2009 à 11:54
Et en fait dans ton awk :
awk '$7 ~ /HTTP_GET/ || /notifresp_ind/ && $10 ~ /200/ || /202/ {print NR,$7}' fich
si je fais ça :
awk '$7 ~ /HTTP_GET/ && $10 ~ /200/ || /202/ {print NR,$7}' fich
et bien ça me donne exactement la même chose :
machine@ssh$ awk '$7 ~ /HTTP_GET/ || /notifresp/ && $10 ~ /200/ || /202/ {print $7}' ding
HTTP_GET
m_notifresp_ind
m_notification_ind
machine@ssh$ awk '$7 ~ /HTTP_GET/ && $10 ~ /200/ || /202/ {print $7}' ding
HTTP_GET
m_notifresp_ind
m_notification_ind
Peut-être que ça pourras t'aider.
Merci pour votre aide.
Cordialement,
awk '$7 ~ /HTTP_GET/ || /notifresp_ind/ && $10 ~ /200/ || /202/ {print NR,$7}' fich
si je fais ça :
awk '$7 ~ /HTTP_GET/ && $10 ~ /200/ || /202/ {print NR,$7}' fich
et bien ça me donne exactement la même chose :
machine@ssh$ awk '$7 ~ /HTTP_GET/ || /notifresp/ && $10 ~ /200/ || /202/ {print $7}' ding
HTTP_GET
m_notifresp_ind
m_notification_ind
machine@ssh$ awk '$7 ~ /HTTP_GET/ && $10 ~ /200/ || /202/ {print $7}' ding
HTTP_GET
m_notifresp_ind
m_notification_ind
Peut-être que ça pourras t'aider.
Merci pour votre aide.
Cordialement,
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
5 févr. 2009 à 12:17
5 févr. 2009 à 12:17
Essaye ça :
awk '$7 ~ /HTTP_GET/ || $7 ~ /notifresp_ind/ && $10 ~ /200/ || $10 ~ /202/ {print $7}'
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
5 févr. 2009 à 12:19
5 févr. 2009 à 12:19
Je viens d'essayer et voilà le résultat :
machine@ssh$ awk '$7 ~ /HTTP_GET/ || $7 ~ /notifresp_ind/ && $10 ~ /200/ || $10 ~ /202/ {print $7}' ding
HTTP_GET
m_notifresp_ind
m_notification_ind
Toujours le même problème on dirait.
Merci.
Cordialement,
machine@ssh$ awk '$7 ~ /HTTP_GET/ || $7 ~ /notifresp_ind/ && $10 ~ /200/ || $10 ~ /202/ {print $7}' ding
HTTP_GET
m_notifresp_ind
m_notification_ind
Toujours le même problème on dirait.
Merci.
Cordialement,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
5 févr. 2009 à 12:35
5 févr. 2009 à 12:35
Et comme ça :
awk '($7 ~ /HTTP_GET/ || $7 ~ /notifresp_ind/) && ($10 ~ /200/ || $10 ~ /202/) {print $7}'
Maillon
Messages postés
156
Date d'inscription
mardi 4 octobre 2005
Statut
Membre
Dernière intervention
15 avril 2011
5
5 févr. 2009 à 12:43
5 févr. 2009 à 12:43
Oué c'est bon ça ça marche ! youpi ! :)
Par contre il me retourne un nombre que j'avais déjà avant et qui était faux donc je ferme pas le sujet parce que je pense que je vais rajouter une condition et je posterai ce que je fais si ça marche.
Merci en tout cas.
Cordialement,
Par contre il me retourne un nombre que j'avais déjà avant et qui était faux donc je ferme pas le sujet parce que je pense que je vais rajouter une condition et je posterai ce que je fais si ça marche.
Merci en tout cas.
Cordialement,