Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Script bash

12 réponses
Avatar
Nahliel Steinberg
Bonjour,

J'ai besoin de récupérer une liste d'ip une à une depuis un fichier pour passer une commande snmp.

Avez-vous une idée de comment je peux faire ça ?

J'ai fait un mail pour un subcribe à la liste scriptbash, je n'ai eu aucune réponse.

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20110609085512.GA26688@srvdebian.info-cr.fr

10 réponses

1 2
Avatar
Raphaël RIGNIER
Le 09/06/2011 10:55, Nahliel Steinberg a écrit :
Bonjour,

J'ai besoin de récupérer une liste d'ip une à une depuis un fichier pour passer une commande snmp.

Avez-vous une idée de comment je peux faire ça ?

J'ai fait un mail pour un subcribe à la liste scriptbash, je n'ai eu aucune réponse.



Bonjour,

admettons que dans ton fichier tu aies une adresse ip par ligne

#!/bin/bash

FICHIP="monfichier.txt"

while read a
do
snmpget -c "public" $a
done < $FICHIP

*http://www.commentcamarche.net/faq/5027-comment-lire-un-fichier-ligne-par-ligne
valable d'un manière générale pour lire un fichier ligne par ligne
*

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
gnafou
la commande apply ( à compiler depuis openbsd.org ) est géniale p our ce genre de
choses


F.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bernard Schoenacker
Le Thu, 9 Jun 2011 14:02:30 +0200,
Nahliel Steinberg a écrit :

>Bonjour,
>
>admettons que dans ton fichier tu aies une adresse ip par ligne
>
>#!/bin/bash
>
>FICHIP="monfichier.txt"
>
>while read a
>do
> snmpget -c "public" $a
>done < $FICHIP

Merci ça marche, je complique :

iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 12990
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 17265
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7294
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 19067
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7071
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 4038

Voici un exemple de retour de la commande. je voudrai additionner les
valeurs qui sont remontées par la commande et afficher le total.

ça vous semble possible ?




shalom,

voici la réponse d'un pauvre goy ignorant :

http://bash.cyberciti.biz/shell-math/sum-of-two-numbers-2/

slt
bernard

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nahliel Steinberg
Bonjour,

admettons que dans ton fichier tu aies une adresse ip par ligne

#!/bin/bash

FICHIP="monfichier.txt"

while read a
do
snmpget -c "public" $a
done < $FICHIP



Merci ça marche, je complique :

iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 12990
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 17265
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7294
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 19067
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7071
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 4038

Voici un exemple de retour de la commande. je voudrai additionner les valeurs qui sont remontées par la commande
et afficher le total.

ça vous semble possible ?

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Bruno Muller
--=-ZVChNmkQ5jMmfhpb5Xg6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello,

Le jeudi 09 juin 2011 à 14:02 +0200, Nahliel Steinberg a écrit :
Merci ça marche, je complique :

iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 12990
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 17265
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7294
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 19067
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7071
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 4038

Voici un exemple de retour de la commande. je voudrai additionner les val eurs qui sont remontées par la commande
et afficher le total.

ça vous semble possible ?



De nombreuses façons de faire...
Exemple avec awk, ajoute "| awk 'BEGIN {s=0} {s=s+$4} END {print s}'" à
la fin de ta commande.

Bruno
--
DRESSAGE
M : Je lui donne la patte... il me donne le sucre... Cronch ! Miom ! Je
l'ai parfaitement conditionné, ce con...

--=-ZVChNmkQ5jMmfhpb5Xg6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEABECAAYFAk3wue0ACgkQuJD2bkb8m5sjvwCeLgOi1gHQlbdZnJzZqF9Uahkr
4PcAn2CgKHnzG3+BqTAZM5XKmhZ+jhys
=oGUe
-----END PGP SIGNATURE-----

--=-ZVChNmkQ5jMmfhpb5Xg6--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nahliel Steinberg
Exemple avec awk, ajoute "| awk 'BEGIN {s=0} {s=s+$4} END {print s}'" à
la fin de ta commande.

Bruno



Genial Bruno ca marche.

En fait ce script va me chercher les compteurs de pages imprimees sur les imprimantes.

Mon but est de faire le calcul du nombre de pages imprimees pour tous les types d imprimantees, pour quantifier le papier
imprimes par les utilisateurs.

J ai environ 500 imprimantes et une 40aine de copieurs.

J'ai reussi a isoler donc les ip dans un fichier, dont je me sert pour le script, mais j ai pu aussi rajouter en deuxieme champs
$1 le champ ip et $2 pour le nom redirige dans un fichier et j obtient ce format :

172.17.191.250 IM0996-EPSM2000
etc..

est-ce que c'est possible d inserrer le nom apres le comptage ?


Le comptage marche impeccable on dirait (dois-je faire une verification quand meme ou non ?)


Quand j'ai des imprimantes qui ne sont pas connectees voici le retour que j ai :

123890
4546
41249
Timeout: No Response from 172.17.191.168.
0 (forcement il mets 0 puisqu elle n est pas connectee)
4549
121211
etc....

Comme j'ai mon fichier avec ip + nom
Penses-tu qu il est possible d afficher a la place de :
Timeout: No Response from 172.17.191.168.
0
ceci :
NOM_IMP n est pas sous tension

Merci pour vos reponses en tout cas j ai bien avance, en tout cas le comptage c'est deja pas mal ;-)


--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nahliel Steinberg
De nombreuses façons de faire...
Exemple avec awk, ajoute "| awk 'BEGIN {s=0} {s=s+$4} END {print s}'" à
la fin de ta commande.

Bruno



Je viens de verifier, a priori le total n est pas juste ;-(

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Nahliel Steinberg
Je viens de m'appercevoir que le dernier {print s} n'est pas afficher.

--
Nahliel

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
peric
Le 09/06/2011 19:06, Nahliel Steinberg a écrit :
.../...
Genial Bruno ca marche.

En fait ce script va me chercher les compteurs de pages imprimees sur les imprimantes.

Mon but est de faire le calcul du nombre de pages imprimees pour tous les types d imprimantees, pour quantifier le papier
imprimes par les utilisateurs.

J ai environ 500 imprimantes et une 40aine de copieurs.




.../...

Bonjour,

Ce que vous faites là pour compter les pages imprimées m'intéresse
beaucoup.

Sur une debian etch avec une imprimante en local j'avais écrit un script
pour décompter les pages. Ce script allait compter le nombre de lignes
du fichier /var/log/cups/page_log, ce qui correspondait au nombre de pages.
Depuis le passage à Lenny, plus moyen de mettre la main sur le nombre de
pages imprimés, je n'arrive plus qu'à voir le nombre de fois qu'on a
accédé à l'imprimante, que ce soit pour une page ou plus.

Si vous utilisez cups, auriez-vous une piste pour savoir dans quel
fichier se cache le nombre de pages imprimées ? J'ai cherché sur le site
de cups mais en vain.
Merci pour votre aide.

Christophe Peric


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
mouss
Le 09/06/2011 14:02, Nahliel Steinberg a écrit :
Bonjour,

admettons que dans ton fichier tu aies une adresse ip par ligne

#!/bin/bash

FICHIP="monfichier.txt"

while read a
do
snmpget -c "public" $a
done < $FICHIP



Merci ça marche, je complique :

iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 12990
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 17265
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7294
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 19067
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 7071
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 4038

Voici un exemple de retour de la commande. je voudrai additionner les valeurs qui sont remontées par la commande
et afficher le total.

ça vous semble possible ?




ce serait pas le moment de passer à Perl?

if (/= Counterd+: (d+)/) {
$sum += $1;
}

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2