IGWiki Main Page


Ricerca pagine

Aprile2024
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 12345
6789101112

IGSuitePerl OneLiner (Documento scaduto)
  Modifica PaginaStorico paginaProprietàGet PdfCalcTranslatorVisualizza il documento in formato stampabile.Posso Aiutarti

Tips & Tricks : Perl

Perl in one line

Non tutti sanno che Perl è utilizzabile anche dal prompt (chiaramente sia su Windows che su Linux e tutti i sistemi che supportano Perl) e risolve facilmente moltissimi problemi che altrimenti bisognerebbe affrontare con software dedicati o complessi tipo script bash.

Sostituzione veloce del testo di uno o più file

# perl -i -pe "s/vecchiotesto/nuovotesto /" *

Serve a sostituire vecchiotesto in nuovotesto all'interno di tutti i file (di testo) della directory.
Chiaramente se al posto di "*" si mette il nome di un file la sostituzione viene effettuata solo in quel file:

# perl -i -pe "s/vecchiotesto/nuovotesto /" pippo.txt

C'è da dire poi che vecchiotesto deve rispettare le regole delle RE.

Stampare il contenuto di un file di testo da un'occorrenza in poi

# perl -ne '/foo/...print && 0' test.txt

Nell'esempio chiaramente "foo" è la parola da cercare (o meglio la RE che deve fare il match) e test.txt il file di testo nel quale cercare.

Verificare l'header di una pagina html remota

perl -MLWP::UserAgent -e 'exit 1 
if LWP::UserAgent->new->get(shift)->header("WWW-Authenticate")=~/foo/' 1.2.3.4

Grazie a questo onliner è possibile verificare la presenza della stringa (o RE) "foo" all'interno dell'header della pagina HTML ritornata dal sito http://10.20.30.40. link Se la RE ritorna vero il oneliner ritorna il valore 1 altrimenti "undef".

Il Oneliner richiede che sia installato nel sistema il modulo Perl LWP::UserAgent.

Generare una pwd casuale

perl -e 'print ((0..9,a..z)[rand(31)]) for 1..8'

Per una soluzione più funzionale si consiglia APG, ma per una soluzione onthefly just Perl!

Emulare 'wc -l'

cat miotesto.txt | perl -ne 'eof()?print$i,$/:$i++'

A chi non è capitato di utilizzare 'wc -l' per contare le righe generate da una qualche comando, ma se wc non è presente nel sistema? ecco un piccolo trucchetto. L'esempio conta le righe generate dall'output di 'cat miotesto.txt'.


Nome: Perl oneliner - Revisione: 0 - Autore: LucaS (03.02.2005) - Modificata da: LucaS (21.03.2005) - Categoria: Wiki - Scadenza: 31.12.2009 - Permessi di visualizzazione: Tutti indistintamente - Permessi di modifica: Condiviso con tutti gli utenti - Approvata da: LucaS - Copyright © LucaS All right reserved

Need account? Non hai un account?
Login
Password
Secure connection

Documenti correlati
   
    Nessuna corrispondenza trovata

Ultimi documenti modificati
   
getrss