11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Togliere i commenti<br />

Conversione HTML<br />

Togliere i tag HTML<br />

Conversione XML<br />

Caccia agli spammer<br />

Creare pagine <strong>di</strong> manuale<br />

Appen<strong>di</strong>ce M. Esercizi<br />

informazioni <strong>di</strong> maggior importanza, tra cui l’ora, il PID del processo genitore, i PID dei processi<br />

figli, ecc. Lo script deve anche scrivere un rapporto in un file <strong>di</strong> log ogni <strong>di</strong>eci minuti.<br />

Si tolgano tutti i commenti da uno script <strong>di</strong> shell il cui nome andrà specificato da riga <strong>di</strong> comando.<br />

Si faccia attenzione a non cancellare la “riga #!”.<br />

Si converta un dato file <strong>di</strong> testo nel formato HTML. Questo script non interattivo dovrà inserire<br />

automaticamente tutti gli appropriati tag HTML nel file specificato come argomento.<br />

Si tolgano tutti i tag da un file HTML specificato, quin<strong>di</strong> lo si ricomponga in righe <strong>di</strong> <strong>di</strong>mensione<br />

compresa tra i 60 e i 75 caratteri. Si reimpostino appropriatamente i paragrafi e le spaziature dei<br />

blocchi <strong>di</strong> testo, e si convertano le tabelle HTML in quelle approssimativamente corrispondenti del<br />

formato testo.<br />

Si converta un file XML sia nel formato HTML che in formato testo.<br />

Si scriva uno script che analizzi una e-mail <strong>di</strong> spam eseguendo una ricerca DNS sugli in<strong>di</strong>rizzi IP<br />

presenti nell’intestazione del messaggio, per identificare i vari host così come l’ISP d’origine. Lo<br />

script dovrà rein<strong>di</strong>rizzare il messaggio <strong>di</strong> spam inalterato agli ISP responsabili. Naturalmente, sarà<br />

necessario togliere l’in<strong>di</strong>rizzo IP del proprio provider per non finire col lamentarsi con se stessi.<br />

Se necessario, si usino gli appropriati coman<strong>di</strong> per l’analisi <strong>di</strong> rete.<br />

Per farsi qualche idea in merito, si veda Esempio 12-37 e Esempio A-27.<br />

Facoltativo: scrivete uno script che ricerchi gli spam in un gruppo <strong>di</strong> messaggi e-mail e li cancelli in<br />

base alle regole dei filtri specificati.<br />

Si scriva uno script che automatizzi il processo <strong>di</strong> creazione delle pagine <strong>di</strong> manuale.<br />

Dato un file <strong>di</strong> testo contenente informazioni da impaginare in una pagina <strong>di</strong> manuale, lo script<br />

dovrà leggere il file, quin<strong>di</strong> invocare gli appropriati coman<strong>di</strong> groff per visualizzare la risultante<br />

pagina <strong>di</strong> manuale allo stdout. Il file <strong>di</strong> testo deve essere strutturato in blocchi <strong>di</strong> informazioni<br />

secondo l’intestazione standard <strong>di</strong> una pagina <strong>di</strong> manuale, es. “NAME,” “SYNOPSIS,”<br />

“DESCRIPTION,” ecc.<br />

Ve<strong>di</strong> Esempio 12-26.<br />

817

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!