Récuperer champs de chaque ligne d'un fichier
Fermé
samycaz
Messages postés
15
Date d'inscription
vendredi 15 juin 2012
Statut
Membre
Dernière intervention
22 juin 2012
-
15 juin 2012 à 14:53
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 18 juin 2012 à 19:24
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 18 juin 2012 à 19:24
A voir également:
- Récuperer champs de chaque ligne d'un fichier
- Fichier rar - Guide
- Comment récupérer un compte facebook piraté - Guide
- Fichier host - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Fichier iso - Guide
3 réponses
rodoplop
Messages postés
77
Date d'inscription
vendredi 16 septembre 2011
Statut
Membre
Dernière intervention
6 juillet 2012
12
15 juin 2012 à 15:04
15 juin 2012 à 15:04
Bonjour,
quel langage souhaite tu utiliser pour ton script ?
Ne sachant pas lequel, voici une explication en PHP (en sachant que la logique sera la même quel que soit le langage utilisé, juste les nom de fonction qui peuvent changer)
1) tu ouvre ton fichier en lecture avec un fopen pour obtenir un handle.
2) ensuite tu récupère la ligne courante de ton fichier avec un fgets par exemple. tu récupère cette information dans une variable temporaire.
pour récupérer ce qui t'intéresse, tu peut faire un simple substr() sur cette variable pour ne récupérer que la première partie de la chaine qui t'intéresse.
3) tu fait le traitement que tu veux avec ta variable
4) tu répète le 2 et 3 tant que tu n'es pas à la fin de ton fichier.
quel langage souhaite tu utiliser pour ton script ?
Ne sachant pas lequel, voici une explication en PHP (en sachant que la logique sera la même quel que soit le langage utilisé, juste les nom de fonction qui peuvent changer)
1) tu ouvre ton fichier en lecture avec un fopen pour obtenir un handle.
2) ensuite tu récupère la ligne courante de ton fichier avec un fgets par exemple. tu récupère cette information dans une variable temporaire.
pour récupérer ce qui t'intéresse, tu peut faire un simple substr() sur cette variable pour ne récupérer que la première partie de la chaine qui t'intéresse.
3) tu fait le traitement que tu veux avec ta variable
4) tu répète le 2 et 3 tant que tu n'es pas à la fin de ton fichier.
rodoplop
Messages postés
77
Date d'inscription
vendredi 16 septembre 2011
Statut
Membre
Dernière intervention
6 juillet 2012
12
15 juin 2012 à 16:32
15 juin 2012 à 16:32
Je ne suis pas un expert des scripts en shell mais tu devrait pouvoir trouver ton bonheur sur CCM
https://forums.commentcamarche.net/forum/affich-1702792-shell-unix-fichier-ligne-par-ligne
https://forums.commentcamarche.net/forum/affich-1702792-shell-unix-fichier-ligne-par-ligne
samycaz
Messages postés
15
Date d'inscription
vendredi 15 juin 2012
Statut
Membre
Dernière intervention
22 juin 2012
15 juin 2012 à 16:41
15 juin 2012 à 16:41
merci de ton aide, j'ai lu ce tuto mais il faut préalablement écrire le nom des valeur que l'on veut récuperer or dans mon cas, les valeurs sont différentes à chaque ligne
rodoplop
Messages postés
77
Date d'inscription
vendredi 16 septembre 2011
Statut
Membre
Dernière intervention
6 juillet 2012
12
15 juin 2012 à 16:54
15 juin 2012 à 16:54
justement, le lien montre bien que les donnée utilisé dans le script shell sont lues dans un fichier
d'autres infos sur ce que tu souhaite faire ici https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne
d'autres infos sur ce que tu souhaite faire ici https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne
samycaz
Messages postés
15
Date d'inscription
vendredi 15 juin 2012
Statut
Membre
Dernière intervention
22 juin 2012
15 juin 2012 à 16:58
15 juin 2012 à 16:58
merci je vais essayer d'appliquer mes commandes en utilisant la structure proposé dans ce document
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
18 juin 2012 à 19:24
18 juin 2012 à 19:24
Salut,
Dans ton cas tu n'as pas vraiment besoin de récupérer une adresse ip, c'est-à-dire pas besoin d'une regex pour capturer les IP.
Vu la structure de ton fichier il suffit un split pour séparer les IP des noms de routers
Un exemple en perl
Dans ton cas tu n'as pas vraiment besoin de récupérer une adresse ip, c'est-à-dire pas besoin d'une regex pour capturer les IP.
Vu la structure de ton fichier il suffit un split pour séparer les IP des noms de routers
Un exemple en perl
lami20j@debian-acer:~$ cat ip_variable.pl #!/usr/bin/perl use strict;use warnings; my %h_ip; while(<DATA>){ my ($cle,$val)=split; $h_ip{$cle}=$val; } print "$h_ip{$_}\t IP:$_\n" foreach sort keys %h_ip; __END__ 10.0.0.1 routeur1 10.0.0.2 nom-routeur2 20.30.33.1 nom_routeur3 lami20j@debian-acer:~$ perl ip_variable.pl routeur1 IP:10.0.0.1 nom-routeur2 IP:10.0.0.2 nom_routeur3 IP:20.30.33.1
15 juin 2012 à 16:25
par contre c bien cette idée de variable temporaire que je voudrais utiliser dans mon script afin de lancer mon programme sur chacun des switch un à un.