Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1713 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script shell et affichage "bufferisé"

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script shell et affichage "bufferisé"

n°1299354
o'gure
Modérateur
Multi grognon de B_L
Posté le 20-12-2011 à 11:01:52  profilanswer
 

Bonjour,
En shell (bash), de manière simple comment je peux faire ça :
 -> j'interroge un routeur pour récupérer plusieurs stats.  [:yann39]  
 -> je voudrais afficher tout d'un coup et pas ligne par ligne, sinon je me prends la latence de chaque requête une par une, c'est gonflant. Je préfère attendre un peu plus au départ et tout avoir à la fin d'un coup.
 
 -> on va me dire d'utiliser des variables, oui c'est ce que je fais pour 50% des valeurs récupérées sauf que :
   1. avec SNMP dans certains cas je suis obligé d'itérer pour analyser un ensemble de stat.
   2. du coup je ne peux pas stocker de manière propre le tout dans une belle variable dont je ferais un echo $variable à la fin.
 
Peut-on faire 2. de manière "dynamique", je ne connais pas d'avance le nombre de valeur à stocker ?  
Existe-t-il une méthode "affichage dans un buffer et balance du buffer quand on veut" ?
 

mood
Publicité
Posté le 20-12-2011 à 11:01:52  profilanswer
 

n°1299373
e_esprit
Posté le 20-12-2011 à 16:19:33  profilanswer
 

Au lieu d'écrire sur stdout tu balances dans un fichier, et à la fin, tu fais un cat de ce fichier [:dawa]


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1299376
o'gure
Modérateur
Multi grognon de B_L
Posté le 20-12-2011 à 17:00:23  profilanswer
 

C'est un workaround valide [:bien]
Mais bon, si y avait moyen de le faire "nativement" [:dawa]

n°1299382
e_esprit
Posté le 20-12-2011 à 17:38:11  profilanswer
 

Normalement y a la commande stdbuf qui devrait pouvoir aider, mais en pratique j'ai pas réussi à en tirer quoique ce soit.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1299390
o'gure
Modérateur
Multi grognon de B_L
Posté le 20-12-2011 à 18:49:22  profilanswer
 

j'avais trouvé setbuf pour le codage en C, je suppose que ça doit son pendant shell.
Je regarderais ça au taf :D

n°1299392
e_esprit
Posté le 20-12-2011 à 19:08:49  profilanswer
 

sinon il doit être possible de bidouiller un script rapidement vers lequel rediriger la sortie qui bufferise comme tu le souhaites.
 
Genre ça, ça le fait :

Code :
  1. #! /usr/bin/python
  2. import sys
  3.  
  4. buffer = sys.stdin.read()
  5.  
  6. print >> sys.stdout, buffer


 
Résultat (tout est affiché d'un coup) :

Citation :

$ ./test.sh | ./buffer.py  
[mardi 20 décembre 2011, 19:07:26 (UTC+0100)] Ceci est la première ligne
[mardi 20 décembre 2011, 19:07:27 (UTC+0100)] Ceci est la seconde ligne
[mardi 20 décembre 2011, 19:07:28 (UTC+0100)] Ceci est la troisième ligne
[mardi 20 décembre 2011, 19:07:29 (UTC+0100)] Ceci est la dernière ligne


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
n°1299393
o'gure
Modérateur
Multi grognon de B_L
Posté le 20-12-2011 à 19:13:53  profilanswer
 

ça pourrait le faire en l'intégrant directement dans le script (histoire que je n'ai pas à faire le pipe sur la ligne de commande), faut juste que j'ai python sur la machine...
thanks [:romf]


Message édité par o'gure le 20-12-2011 à 19:14:08

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script shell et affichage "bufferisé"

 

Sujets relatifs
Shell linux commande scptest de variables en shell
[SHELL][SOLARIS 8]nombre de jour entre 2 datesscript backup + extinction
Script shell problème avec datepb de script linux
Affichage bizarre du LSScript ftp et caméra ip sous unix
Script Bash sauvegarde 
Plus de sujets relatifs à : Script shell et affichage "bufferisé"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR