logobluw
logobluw
logobluD
logobluD
  • Servizi
    • eStore
    • WordPress Custom
    • BluFileMan
    • Soluzioni Avanzate Web
    • Rottamazione
    • Apps per iPhone e iPad (new)
    • Grafica
    • Audio e Video
    • Social & Web Marketing
    • Assistenza e consulenza
  • Partners
  • Lavora con noi
  • Richiedi Preventivo Gratis
  • Contatti
  • Blog

Pv, pipe viewer

HomePv, pipe viewer


La linea di comando permette di svolgere velocemente operazioni complesse, ma quando si incominciano ad usare pipe è difficile sapere quanto durerà l’elaborazione dei dati.

Per ovviare a questo problema possiamo ricorrere al semplice, quanto utile, comando pv (Pipe Viewer). Come si intuisce già dal nome, il suo scopo è monitorare i dati che passano attraverso una pipeline e stampare a video le informazioni ottenute. Potremo così leggere facilmente il tempo trascorso, la percentuale di completamento, il throughput attuale, il totale dei dati trasferiti ed un orario stimato per la fine del processo.

Pv ha alcune opzioni per personalizzare l’output su terminale e legge un file in input per copiare tutti i suoi byte su stdout. Nel caso non si passi un file come parametro i dati verranno presi da stdin.

Ecco due esempi del medesimo programma scritto nelle due forme per mostrare la differenza:


pv file | nc -w 1 somewhere.com 3000
cat file | pv -s 12345 | nc -w 1 somewhere.com 3000

Nel secondo esempio è presente anche il parametro “-s” che serve per informare pv sulle dimensioni del flusso dei dati in entrata. Parametro che nella versione iniziale non serviva poiché pv leggeva direttamente la dimensione del file. Quando usiamo pv all’interno di una pipeline per ottenere il massimo è necessario informarlo sulla dimensione dei dati in input ed il prossimo esempio è utile per darne una piccola panoramica.


SIZE=`du -sk directory | cut -f 1`
tar cf - directory | pv -p -s ${SIZE}k | bzip2 -c > directory.tar.bz2

Se poi volessimo proprio esagerare dopo un po’ di pratica potreste arrivare facilmente a scrivere linee di questo tipo:


(tar cf - .
| pv -n -s $(du -sb . | awk '{print $1}')
| gzip -9 > out.tgz) 2>&1
| dialog --gauge 'Progress' 7 70

Questo esempio sfrutta l’interfaccia di dialog per mostrare la percentuale di elaborazione. Se vi capita di usare pv provate a condividere con noi l’uso che ne fate.

Via | ServerWatch

Pv, pipe viewer é stato pubblicato su Ossblog.it alle 12:00 di giovedì 04 agosto 2011.


bluermes
28
notizie dai blog
Prev PostFoursquare annuncia le Pages do-it-yourselfAgo 04, 2011
Next PostItaliani: pizza e mandolino, Google e YouTubeAgo 04, 2011
bluermestracciato
Bluermes Comunicazione Integrata è un'agenzia di comunicazione fondata nel 2000, si propone oggi come una struttura a servizio completo, creativa e veloce nelle risposte.
Gero Marsala è Socio IWA, Professionista Web di cui alla legge n.4/2013
Contatti
Via Generale Cascino, 1 Campobello di Licata
3331063065
info@bluermes.it
PayPal Partner
Bluermes Comunicazione Integrata è partner PayPal 
Copyright © Bluermes Comunicazione Integrata VAT: IT - 02175880844