Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Cleptomaniaco, s.m.: Un ladro ricco.

Ambrose Bierce 

Sondaggio:

Quale tra queste ? la pi? bella?

Monica Bellucci
Jennifer Lopez
Paola Barale
Selen
Sabrina Ferilli
Luisa Corna
Laura Freddi
Susanna Messaggio

visualizza risultati


 

Comandi di elaborazione

Questa sezione discute i comandi che alterano un file, ci eseguono una determinata operazione o mostrano statistiche su di esso.

 

grep [-nvwx] [-numero] espressione [file1 file2 ...fileN]

Uno dei comandi più utili di UNIX è grep, il generalized regular expression parser (analizzatore generalizzato di espressioni regolari). È un nome buffo per uno strumento che ricerca del testo in un file solamente. Il modo più semplice per usare grep è questo:

/home/larry$ cat animali
Gli animali sono creature molto interessanti. Il mio animale preferito e' la tigre, un terrificante animale con grandi denti. Mi piace anche il leone---non e' di certo un erbivoro!
/home/larry$ grep igre animali
e' la tigre, un terrificante animale con grandi denti.
/home/larry$

Uno svantaggio di questo comando è che, sebbene mostri tutte le linee contenenti una parola, non dice dove cercarla nel file, non dà nessun numero di riga: può essere utile secondo quello che state facendo. Per esempio, se state cercando gli errori nell'output di un programma, potete provare a.out | grep error, dove a.out è il nome del vostro programma.

Se siete interessati alla posizione delle corrispondenze, usate l'opzione n con grep per dirgli di stampare i numeri di riga. Usate l'opzione v se volete vedere tutte le linee che non contengono l'espressione specificata. Un'altra caratteristica di grep è che verifica solo parti di una parola, come nel mio esempio precendente igre verifica tigre. Per comunicare a grep di verificare solo parole intere, usate l'opzione w; l'opzione x comunica a grep di controllare le corrispondenze di linee intere. Se non specificate nessun file, grep esamina lo stdin.

 

wc [-clw] [file1 file2 ...fileN]

wc sta per word count (conta parole). Conta semplicemente il numero di parole, linee e caratteri nel/nei file. Se non viene specificato nessun file nella linea di comando, opera sullo stdin. I tre parametri, clw, stanno rispettivamente per caratteri, linee e word (parole), e comunicano a wc quali dei tre conteggiare. Così, wc -cw conta il numero di caratteri e di parole, ma non il numero di linee. Per default, wc conta tutto: parole, linee e caratteri. Un uso semplice di wc è trovare quanti file sono presenti in una directory: ls | wc -w. Se volete vedere quanti file hanno estensione .c, provate ls *.c | wc -w.

 

spell [file1 file2 ...fileN]

spell è un comando UNIX di controllo ortografico molto semplice, generalmente per l'inglese americano. spell è un filtro, come molti dei programmi di cui abbiamo parlato, che legge un file di testo ASCII e scrive tutte le parole che considera errate. spell opera sui file elencati nella linea di comando, o, se non ne vengono dati, sullo stdin. Probabilmente nella vostra macchina è disponibile anche un programma di ortografia più sofisticato, ispell. ispell offre la possibilità di correggere l'ortografia ed ha una simpatica interfaccia a menù se viene specificato un file nella linea di comando, oppure funziona come filtro se non viene specificato nessun file. Anche se operare con ispell dovrebbe essere abbastanza banale, consultate la pagina man se avete bisogno di maggiori informazioni.

 

cmp file1 [file2]

cmp ("compares") confronta due file. Il primo deve essere specificato nella linea di comando, mentre il secondo può essere specificato nella linea di comando o letto dallo standard input. cmp è molto semplice, e dice solamente dove i due file cominciano a non essere identici.

 

diff file1 file2

Uno dei comandi standard di UNIX più complicati è chiamato diff. La versione GNU di diff ha più di venti opzioni possibili da linea di comando! È una versione di cmp molto più potente e mostra quali sono le differenze invece di comunicare semplicemente dove si trova la prima. Dato che parlare in modo approfondito di diff esula dallo scopo di questa guida, ne mostrerò soltanto le operazioni di base. In breve, diff accetta due parametri (i file da confrontare) e mostra le differenze tra questi linea per linea. Per esempio:

/home/larry$ cat animali
Gli animali sono creature molto interessanti. Il mio animale preferito
e' la tigre, un terrificante animale con grandi denti.
Mi piace anche il leone---non e' di certo un erbivoro!
/home/larry$ cp animali pippo
/home/larry$ diff animali pippo
/home/larry$ cat cani
Gli animali sono creature molto nteressanti. Il mio animale preferito

e' la tigre, un terrificante animale con grandi denti.
Mi piace anche il leone---non e' di certo un erbivoro!
/home/larry$ diff animali cani
1c1,2
< Gli animali sono creature molto interessanti. Il mio animale preferito
---
> Gli animali sono creature molto nteressanti. Il mio animale preferito
>
3c4
< Mi piace anche il leone---non e' di certo un erbivoro!
---
> Mi piace anche il leone---non e' di certo un erbivoro!
/home/larry$

Come potete vedere, diff non stampa niente quando i due file sono identici; quando confronto due file diversi, ho un'intestazione di sezione, 1c1,2, che indica che stava confrontando la linea 1 del file di sinistra, animali, con le linee 1-2 di cani e quali differenze ha notato; quindi confronta la linea 3 di animali con la linea 4 di cani. Mentre può sembrare strano a prima vista confrontare diversi numeri di riga, è molto più efficiente di elencare ogni singola linea se c'è soltanto un ritorno a capo in più all'inizio di un file.

 

gzip [-v#] [file1 file2 ... fileN]
gunzip [-v] [file1 file2 ... fileN]
zcat [file1 file2 ...fileN]

Questi tre programmi vengono usati per comprimere e decomprimere dati. gzip, o GNU zip, è il programma che legge i file originali e rende file più piccoli. gzip cancella i file specificati dalla linea di comando e li sostituisce con file che hanno nome identico ma con un ".gz" finale.

 

tr stringa1 stringa2

Il comando di "traduzione di caratteri" opera sullo standard input: non accetta un nome di file come parametro; invece, i suoi due parametri sono stringhe arbitrarie. Sostituisce tutte le stringhe uguali a stringa1 nell'input con stringa2. In aggiunta a dei comandi semplici come tr pippo pluto, tr accetta anche comandi più complicati. Ad esempio, ecco un modo veloce di convertire i caratteri minuscoli in caratteri maiuscoli:

/home/larry# tr [:lower:] [:upper:]
questa e' una frase STRANA.
QUESTA E' UNA FRASE STRANA.

tr è abbastanza complesso e di solito viene usato in piccoli programmi di shell.

 

successivo
–«  INDICE  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2019 Cataldo Sasso