E' l'abbreviazione di Word Count e sta per conteggio di parole.
Dal momento che è in voga la moda di smentire ciò che una cosa potrebbe significare all'apparenza (Es. Wine è l'acronimo di: Wine non è un emulatore. GNU è l'acronimo di: Gnu non è Unix.), avrei nominato il comando WC in WCNWC, cioè WC non è un WC :-D
Stamattina mi sono svegliato con l'intento di riscrivere alcune pagine man per farle comprendere anche a mio nonno, ma forse sto esagerando un pò!
Dunque, volendo essere (relativamente) seri, WC è il comando che conta le parole (e non solo le parole) contenute in un file.
La sintassi è
wc [opzioni] nome del file
Le principale opzioni sono:
-c (indicazione dei numeri di byte di un file)
-m (conteggio dei caratteri contenuti in un file)
-l (conteggio delle linee in un file)
-w (conta le parole contenute in un file)
-L (indica la linea più lunga)
Fin qui, l'estrema sintesi della pagina man!
Passiamo adesso al suo aspetto pratico.
Voglio analizzare un file di testo senza aggiungere alcuna opzione a wc.
Mi sposto nella cartella dove il file è contenuto
cd Documenti
e lancio il comando seguito dal nome del file (e senza opzioni)
wc bit3lux1.txt
Ecco l'output
4 16 80 bit3lux1.txt
Dove 4 è il numero delle linee (righe) contenute nel file; 16, il numero delle parole; 80, il numero dei byte
Se invece voglio conoscere solo il numero dei byte
wc -c bit3lux1.txt
Per conoscere solo il numero delle parole
wc -w bit3lux1.txt
Se voglio conoscere la riga più lunga (espressa in caratteri)
wc -L bit3lux1.txt
se voglio conoscere solo il numero dei caratteri
wc -m bit3lux1.txt
se voglio conoscere tutti questi elementi
wc -lwmcL bit3lux1.txt
Fin qui, ordinaria amministrazione.
E se volessi mettere a confronto righe, parole e byte di tre file di testo?
wc bit3lux1.txt bit3lux2.txt bit3lux3.txt
Ecco l'output
3 16 78 bit3lux1.txt
3 15 73 bit3lux2.txt
4 11 54 bit3lux3.txt
10 42 205 totale
Notate che, all'ultima riga, abbiamo anche la somma di righe, parole e byte dei tre file (il totale)
Avviamente, se voglio confrontare i tre file in relazione ad un solo parametro, ad es. i byte, scriverò
wc -c bit3lux1.txt bit3lux2.txt bit3lux3.txt
e così via.
Poniamo il caso, ora, che voglia conoscere il numero dei file di testo presenti in una directory, senza che mi venga indicato il loro nome
ls *.txt | wc -l
L'output, nel mio caso, sarà 3
mentre per conoscere il numero totale dei file presenti in una directory
ls | wc -l
Si prega, comunque, di visitare la pagina man di wc
man wc
Ciao! :-)
@ Picchio
RispondiEliminaPicchio scusami, ma il tuo commento, non so per quale misterioso caso, è scomparso dopo la moderazione.
No problem :D
RispondiEliminaIl commendo diceva: "Bel post :D"
Recuperato il commento di Picchio, ora posso andare anche a mangiare. XD
RispondiEliminaUna volta ho provato a contare quante righe c'erano su un sorgente del Kernel Linux. Prima di ricevere un output ho fatto due caffè e più una frittata di patate XD XD XD XD
RispondiEliminaTi è andata bene! XD
RispondiElimina> "WCNWC, cioè WC non è un WC"
RispondiEliminaLOL spero chi di dovere legga il tuo suggerimento :D
@Idl3
RispondiEliminaWCNWC suona anche meglio. :-D