Parcourir un fichier
Résolu/Fermé
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
-
8 avril 2012 à 15:21
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 avril 2012 à 14:09
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 avril 2012 à 14:09
A voir également:
- Parcourir un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier host - Guide
- Ouvrir un fichier .bin - Guide
14 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
8 avril 2012 à 16:48
8 avril 2012 à 16:48
Salut,
On peut avoir un aperçu du fichier (ou d'une ligne) s'il te plaît ?
On peut avoir un aperçu du fichier (ou d'une ligne) s'il te plaît ?
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
8 avril 2012 à 22:34
8 avril 2012 à 22:34
merci pour ta reponse
voila en fait les lignes du fichier, dnc le but je voulais aficher les discover d'un serveur DHCP apres un time donne dnc a chaque fois je compare le time (ex:15:00) avec le time actuel
pour l'instant pour faire simple je compare juste avec 1 histoire de tester le fonctionnent
merci d'avance
Apr::4:15:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:17:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:20:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:11:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:17:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:77:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
voila en fait les lignes du fichier, dnc le but je voulais aficher les discover d'un serveur DHCP apres un time donne dnc a chaque fois je compare le time (ex:15:00) avec le time actuel
pour l'instant pour faire simple je compare juste avec 1 histoire de tester le fonctionnent
merci d'avance
Apr::4:15:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:17:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:20:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:11:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:17:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
10
Apr::4:77:00:11:BABALLE-01:dhcpd::DHCPDISCOVER:from:15:20:d2:2b:f6:1a:via:10.10.11.1
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
8 avril 2012 à 23:06
8 avril 2012 à 23:06
Avec "awk" ça devrait le faire :
awk -F':' ' $4 > 16 { print }' fichier
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
8 avril 2012 à 23:31
8 avril 2012 à 23:31
merci pour la reponse juste par rapport a mon script je mets la ligne que t indiqué ou exactement
dans la boucle?
merci
dans la boucle?
merci
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
8 avril 2012 à 23:35
8 avril 2012 à 23:35
ah bon j'ai compris
je pense que c'est bon ca fait bien ce que je veux, juste une dernier question je cherche a ecrire les ligne touvé dans un fichier a part
j espaire que t une idée?
merci
je pense que c'est bon ca fait bien ce que je veux, juste une dernier question je cherche a ecrire les ligne touvé dans un fichier a part
j espaire que t une idée?
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
8 avril 2012 à 23:40
8 avril 2012 à 23:40
ben la reponse est simple il falut juste faire
awk -F':' ' $4 > 20 { print }' yes>testfinale
franchement merci beaucoup
awk -F':' ' $4 > 20 { print }' yes>testfinale
franchement merci beaucoup
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
9 avril 2012 à 12:43
9 avril 2012 à 12:43
Bonjour,
comment je peux extraire que les adresse MAC ayant free comme state, je sais que je doit passer par des grep et cut et tr,mais je vois pas trop comment faire
si vous avez une idéé sur comment faire
merci d'avance de votre aide
voila l'xemple du fichier:
lease 192.168.100.2 {
starts 1 2012/04/02 09:54:36;
ends 1 2012/04/02 09:55:48;
tstp 1 2012/04/02 09:55:48;
cltt 1 2012/04/02 09:54:36;
binding state free;
hardware ethernet 00:14:22:c3:38:53;
uid "\001\000\024\"\3038S";
}
lease 192.168.100.14 {
starts 3 2012/04/04 14:35:26;
ends 3 2012/04/04 14:36:38;
cltt 3 2012/04/04 14:35:26;
binding state active;
next binding state free;
hardware ethernet 00:20:d2:2b:f6:1a;
}
lease 192.168.100.14 {
starts 3 2012/04/04 14:36:02;
ends 3 2012/04/04 14:37:14;
cltt 3 2012/04/04 14:36:02;
binding state active;
next binding state free;
hardware ethernet 00:20:d2:2b:f6:1a;
}
Configuration: Linux / Firefox 3.5.3
comment je peux extraire que les adresse MAC ayant free comme state, je sais que je doit passer par des grep et cut et tr,mais je vois pas trop comment faire
si vous avez une idéé sur comment faire
merci d'avance de votre aide
voila l'xemple du fichier:
lease 192.168.100.2 {
starts 1 2012/04/02 09:54:36;
ends 1 2012/04/02 09:55:48;
tstp 1 2012/04/02 09:55:48;
cltt 1 2012/04/02 09:54:36;
binding state free;
hardware ethernet 00:14:22:c3:38:53;
uid "\001\000\024\"\3038S";
}
lease 192.168.100.14 {
starts 3 2012/04/04 14:35:26;
ends 3 2012/04/04 14:36:38;
cltt 3 2012/04/04 14:35:26;
binding state active;
next binding state free;
hardware ethernet 00:20:d2:2b:f6:1a;
}
lease 192.168.100.14 {
starts 3 2012/04/04 14:36:02;
ends 3 2012/04/04 14:37:14;
cltt 3 2012/04/04 14:36:02;
binding state active;
next binding state free;
hardware ethernet 00:20:d2:2b:f6:1a;
}
Configuration: Linux / Firefox 3.5.3
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
9 avril 2012 à 13:08
9 avril 2012 à 13:08
Salut,
;-))
$ cat brol lease 192.168.100.2 { starts 1 2012/04/02 09:54:36; ends 1 2012/04/02 09:55:48; tstp 1 2012/04/02 09:55:48; cltt 1 2012/04/02 09:54:36; binding state free; hardware ethernet 00:14:22:c3:38:53; uid "\001\000\024\"\3038S"; } lease 192.168.100.14 { starts 3 2012/04/04 14:35:26; ends 3 2012/04/04 14:36:38; cltt 3 2012/04/04 14:35:26; binding state active; next binding state free; hardware ethernet 00:20:d2:2b:f6:1a; } lease 192.168.100.14 { starts 3 2012/04/04 14:36:02; ends 3 2012/04/04 14:37:14; cltt 3 2012/04/04 14:36:02; binding state active; next binding state free; hardware ethernet 00:20:d2:2b:f6:1a; } $ sed -n '/^binding state free/{n;p}' brol hardware ethernet 00:14:22:c3:38:53; $
;-))
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
9 avril 2012 à 13:23
9 avril 2012 à 13:23
salut
merci pour ton aide
je remplace bien le nom de fichier, mais la commande n'affiche rien en fait
merci d'avance
merci pour ton aide
je remplace bien le nom de fichier, mais la commande n'affiche rien en fait
merci d'avance
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
9 avril 2012 à 13:36
9 avril 2012 à 13:36
Il n'y aurait pas des tabulations en début de lignes ???
Mets un exemple du contenu de ton fichier entre les balises <code></code>, comme ceci :
Ce qui donnera ceci :
Mets un exemple du contenu de ton fichier entre les balises <code></code>, comme ceci :
<code>lease 192.168.100.2 { starts 1 2012/04/02 09:54:36; ends 1 2012/04/02 09:55:48; tstp 1 2012/04/02 09:55:48; cltt 1 2012/04/02 09:54:36; binding state free; hardware ethernet 00:14:22:c3:38:53; uid "\001\000\024\"\3038S"; }</code>
Ce qui donnera ceci :
lease 192.168.100.2 { starts 1 2012/04/02 09:54:36; ends 1 2012/04/02 09:55:48; tstp 1 2012/04/02 09:55:48; cltt 1 2012/04/02 09:54:36; binding state free; hardware ethernet 00:14:22:c3:38:53; uid "\001\000\024\"\3038S"; }
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
9 avril 2012 à 14:08
9 avril 2012 à 14:08
mais vue que moi je peux pas ajouter cette balise dans mon fichier tu pense
qui il aurait d'autre moyen pour avoir les adresse MAC qui sont free
merci d'avance
qui il aurait d'autre moyen pour avoir les adresse MAC qui sont free
merci d'avance
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
9 avril 2012 à 14:12
9 avril 2012 à 14:12
Je parlais de l'affichage ici sur le forum ;-\
Si ton fichier contient des tabulations et que tu fais un copier/coller ici sur le forum sans te servir des balises (voir ce tutoriel), on ne le verra pas ;-(
Ou alors, mets une copie de ton fichier en téléchargement sur Cjoint.
Si ton fichier contient des tabulations et que tu fais un copier/coller ici sur le forum sans te servir des balises (voir ce tutoriel), on ne le verra pas ;-(
Ou alors, mets une copie de ton fichier en téléchargement sur Cjoint.
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
9 avril 2012 à 15:48
9 avril 2012 à 15:48
pour l'info c'est le fichier lease du DHCP qui affiche les adresses libérées
en fait ce qui se passe avec cette solution c'est qu'on j'ajoute une autre adresse MAC avec un state free dans le fichier:
lease 192.168.100.14 {
starts 3 2012/04/04 14:36:02;
ends 3 2012/04/04 14:37:14;
cltt 3 2012/04/04 14:36:02;
binding state free;
next binding state free;
hardware ethernet 44:20:d2:2b:f6:1a;
}
il m'affiche:
hardware ethernet 00:14:22:c3:38:53;
next binding state free;
donc la solution n'est pas fiable
merci d'avance pour ta reponse
en fait ce qui se passe avec cette solution c'est qu'on j'ajoute une autre adresse MAC avec un state free dans le fichier:
lease 192.168.100.14 {
starts 3 2012/04/04 14:36:02;
ends 3 2012/04/04 14:37:14;
cltt 3 2012/04/04 14:36:02;
binding state free;
next binding state free;
hardware ethernet 44:20:d2:2b:f6:1a;
}
il m'affiche:
hardware ethernet 00:14:22:c3:38:53;
next binding state free;
donc la solution n'est pas fiable
merci d'avance pour ta reponse
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
9 avril 2012 à 16:07
9 avril 2012 à 16:07
Essaye ça :
sed -n '/^binding state free/{:z;n;/^hardware/! bz;p}'
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 620
9 avril 2012 à 16:07
9 avril 2012 à 16:07
$ cat fichier lease 192.168.100.14 { starts 3 2012/04/04 14:36:02; ends 3 2012/04/04 14:37:14; cltt 3 2012/04/04 14:36:02; binding state free; next binding state free; hardware ethernet 44:20:d2:2b:f6:1a; } $ $ awk -F"[ ;]" '/^binding state free/{x=1} /hardware/ && x {print $3;x=0}' fichier 44:20:d2:2b:f6:1a $
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
10 avril 2012 à 10:23
10 avril 2012 à 10:23
Bonjour,
je voulais afficher que les lignes dont leur time est supérieur a un time donné
voila le fichier:
Apr++4+10.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+09.31.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+19.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+11.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+09.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+07.45.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
quand j'essaie avec cette commande:
awk -F'+' ' $4 > 10 { print }' tg
j'ai cette affichage ce qui est bien
Apr++4+10.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+11.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
mais quand j'essaie d'afficher les ligne avec un time supérieur a 7.00(par exemple)
awk -F'+' ' $4 > 7.00 { print }' tg
il affiche rien.
je voulais savoir c'est quoi le problème.
merci d'avance de votre aide et de votre compréhension
je voulais afficher que les lignes dont leur time est supérieur a un time donné
voila le fichier:
Apr++4+10.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+09.31.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+19.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+11.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+09.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+07.45.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
quand j'essaie avec cette commande:
awk -F'+' ' $4 > 10 { print }' tg
j'ai cette affichage ce qui est bien
Apr++4+10.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
Apr++4+11.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1
mais quand j'essaie d'afficher les ligne avec un time supérieur a 7.00(par exemple)
awk -F'+' ' $4 > 7.00 { print }' tg
il affiche rien.
je voulais savoir c'est quoi le problème.
merci d'avance de votre aide et de votre compréhension
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 620
Modifié par dubcek le 10/04/2012 à 11:04
Modifié par dubcek le 10/04/2012 à 11:04
avec $4 =10.10.11, ilne doit pas traiter ça comme une valeur numérique
$ awk -F'+' ' strtonum($4) > 7 { print }' tg Apr++4+10.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1 Apr++4+09.31.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+19.20.d2.2b.f6.1a+via+10.10.11.1 Apr++4+11.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1 Apr++4+09.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1 Apr++4+07.45.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1 $ $ $ awk -F'+' ' strtonum($4) > 10 { print }' tg Apr++4+10.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1 Apr++4+11.10.11+BABALLE-01+dhcpd.+DHCPDISCOVER+from+13.20.d2.2b.f6.1a+via+10.10.11.1 $
othmane19
Messages postés
96
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
27 avril 2013
10 avril 2012 à 11:26
10 avril 2012 à 11:26
merci pour ta reponse
je pense que pour l'instant c'est bon
mais j'ai pas compris le rôle de la fonction strtonum?
merci d'avance de ton aide
je pense que pour l'instant c'est bon
mais j'ai pas compris le rôle de la fonction strtonum?
merci d'avance de ton aide
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
10 avril 2012 à 11:29
10 avril 2012 à 11:29
Salut,
Ça convertit une chaîne en nombre : http://www.gnu.org/software/gawk/manual/gawk.html#Strtonum-Function
Ça convertit une chaîne en nombre : http://www.gnu.org/software/gawk/manual/gawk.html#Strtonum-Function
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
10 avril 2012 à 14:09
10 avril 2012 à 14:09
Merci de rester sur ton autre post.