Vertaal

Translate to EnglishÜbersetzen Sie zum Deutsch/GermanΜεταφράστε στα ελληνικά/GreekПереведите к русскому/RussianOversetter til Norsk/NorwegianÖversätta till Svensk/Swedishहिन्दी अनुवाद करने के लिए/Hindi
Tradueix al català/CatalanTulkot uz latviešu/LatvianPreložiť do slovenčiny/SlovakVertaal aan het Nederlands/Dutchترجمة الى العربية/ArabicTraduzca al Español/SpanishTraduisez au Français/French
Traduca ad Italiano/ItalianTraduza ao Português/Portuguese日本語に翻訳しなさい /Japanese한국어에게 번역하십시오/Korean中文翻译/Chinese Simplified中文翻译/Chinese TraditionalПереклад на українську/Ukrainian
Beeld van Androïde Draadloze Ontwikkeling van de Toepassing
Beeld van XSLT 2.0 en XPath 2.0 de Verwijzing van de Programmeur (Programmeur aan Programmeur)
Beeld van Ontwikkeling van de Pit Linux (3de Uitgave)
Beeld van de Red Hat Verklaarde Gids van de Studie van Linux van de Ingenieur RHCE (Examen RH302) (CertificatiePers)

Niet dd van uw Grootvader Nut!

Een recent artikel in het Tijdschrift van Red Hat door Noah Gift en Grig Gheorghiu called „dit niet uw grandpappy'ddd bevel is toonde aan hoe te om Python, het dd nut en de Google Grafiek API te gebruiken om een grafiek uit te vaardigen die productie toont bij verschillende blokgrootte. Nochtans was de output van het manuscript van de Python de daadwerkelijke grafiek maar geen URL die u toen in browser van het Web moest kleven om de resulterende grafiek te bekijken.

I hoewel dit manuscript zou zijn nuttig maar niet wilde moeten cut and paste een URL in browser van het Web zodat besliste ik die stap overbodig te maken.

Dit manuscript van Python is los gebaseerd op hun manuscript maar gebruikt de bibliotheken van de Python urllib met Grafieken te verbinden Google om een PNG- beelddossier te produceren dat later gebruikend routines pyGTK+ wordt getoond. #! /usr/bin/env de invoeros van de pythoninvoer sys de de invoerbevelen voeren Re van van de de invoer urllib invoer de klasse DisplayGraph urllib2 van OptionParser van de optparseinvoer van de de invoer pygtk ('2.0 ′) invoer pygtk.require gtk in: def delete_event (zelf, widget, gebeurtenis, data=None):    vernietigt terugkeer Valse def (zelf, widget, data=None):    gtk.main_quit () def __init (zelf):    self.window = gtk. Venster (gtk.WINDOW_TOPLEVEL)    self.window.connect („delete_event“, self.delete_event)    self.window.connect („vernietig“, self.destroy)    self.window.set_border_width (10)    self.window.set_position (gtk.WIN_POS_CENTER)    self.window.set_title (de „Productie van de Schijf“)    pixbuf = gtk.gdk.pixbuf_new_from_file („/tmp/dd.png“)    os.remove („/tmp/dd.png“)    self.image = gtk. Beeld ()    self.image.set_from_pixbuf (pixbuf)    self.image.sh ow ()    self.window.add (self.image)    self.window.sh ow () def leiding (zelf):    gtk.main () klasse GoogleChart: def __init (zelf):    self.gchart_url = „http://chart.apis.google.com/chart?“    self.gchart_type = „cht=bvs“    self.gchart_title = „&chtt=“    self.gchart_data = „&chd=t: “    self.gchart_labels = „&chxl=0: |“    self.gchart_size = „&chs=400×250 ″    self.gchart_axis_labels = „&chxt=x, y, x, y“    self.gchart_axis_position = „&chxp=2,50|3.50 ″    self.gchart_bar_settings = „″ def titel &chbh=30,15 (zelf, titel):    self.gchart_title = self.gchart_title + schrijft de titel def (zelf, gegevens, etiketten, max_t):     self.gchart_data = self.gchart_data + data.rstrip (`, ')     self.gchart_labels = self.gchart_labels \       + etiketteert + „2: |Block%20Size|3: |Mb/s“     self.gchart_axis_range = „&chxr=1,0,“ + streptokok (max_t+10.0)     self.gchart_scaling = „&chds=0,“ + streptokok (max_t+10.0)     self.gchart_url += self.gchart_type \       + self.gchart_title + self.gchart_size     self.gchart_url += self.gchart_bar_settings \       + self.gchart_data + self.gchart_labels     self.gchart_url += self.gchart_axis_labels \       + self.gchart_axis_position     self.gchart_url += self.gchart_axis_range \       + self.gchart_scaling    opener = urllib2.urlopen (self.gchart_url)    als opener.headers [„tevreden-type“]! = beeld `/png':       hef BadContentTypeException op (`Server responded \          'met een tevreden-type van %s \          % opener.headers [„tevreden-type“])    open („/tmp/dd.png“, `wb').write (opener.read ()) def get_disk_throughput (apparaat, blokgrootte):    blok grootte = streptokok (blokgrootte) + `k    cmd = „dd if=/dev/zero of=%s bs=%s“ % (apparaat, blokgrootte)    output = commands.getoutput (cmd)    productie = 0    eenheid = „“    voor lijn in output.split (`n'):       s = re.search (gekopiërde `. *, (\ S+) (\ S+) $ ', lijn)       als s:          productie = s.group (1)          eenheid = s.group (2)          onderbreking    keer terug (productie, eenheid) als __name == „__main“:    gebruik = „Gebruik: %prog opties“    syntactische parser = OptionParser (usage=usage)    parser.add_option („- D“, „- apparaat“, dest=“ apparaat“, \       help=“ Apparaat aan gebruik. De gegevens van de schijf zullen worden beschreven! “)    (opties, args) = parser.parse_args ()    apparaat = options.device    als niet apparaat:       parser.print_help ()

KSH93 de Manipulatie van de datum

Shell 93 van Korn omvat steun voor uitgebreide datum en tijdrekenkunde en transformatie via de printf builtinfunctie. Nochtans zijn de voorbeelden bij het gebruiken van deze deze eigenschap schaars en ik heb dit korte artikel geschreven in een poging om meer shell manuscriptontwikkelaars van deze uiterst nuttige en krachtige eigenschap bewust te maken.