Cut (Unix): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
(14 versioni intermedie di 11 utenti non mostrate) | |||
Riga 1:
{{Titolo minuscolo}}
'''cut''' (dalla [[lingua inglese]] ''cut'', ''taglia'') è un comando dei [[Sistema operativo|sistemi operativi]] [[Unix]] e [[Unix-like]], e più in generale dei sistemi [[POSIX]]<ref>{{cita web
|url=
|titolo=cut
|accesso=14
|
|lingua=en
}}</ref>, che legge uno o più [[file di testo]] (o lo ''[[standard input]]'') estraendo da ogni linea delle sezioni, definite in termini di [[byte]] oppure caratteri oppure [[Campo (informatica)|campi]], le quali sono poi mostrate sullo ''[[standard output]]''. È un tipo di [[Filtro (Unix)|filtro]].
==
La sintassi generale di ''cut'' prevede le tre forme che seguono:
cut -b ''lista'' [-n] [--] [''file1'' [''file2'' …] ]
Riga 14:
cut -f ''lista'' [-d ''carattere''] [-s] [--] [''file1'' [''file2'' …] ]
I parametri facoltativi ''file'' indicano i nomi dei file di testo da cui estrarre le informazioni. Se non sono specificati, i dati sono letti dallo ''standard input''. Uno dei parametri può essere un trattino ("<
Il doppio trattino <
Tra le opzioni principali vi sono:
;<
;<
;<
;<
;<
;<
Il parametro ''lista'' delle opzioni <
* un ''indice'' numerico, a partire da 1, che indica il byte, carattere o campo da selezionare;
* un ''intervallo'' di indici nella forma <
* un ''intervallo'' di indici nella forma <
* un ''intervallo'' di indici nella forma <
L'ordine degli elementi nella lista non è rilevante, e nemmeno lo sono eventuali ripetizioni o intersezioni, in quanto le sezioni sono sempre presentate nell'ordine in cui appaiono nelle linee di dati originarie e senza ripetizioni.
== Esempi ==
Estrae il primo ed il sesto campo dal file <
cut -f 1,6 -d : /etc/passwd
Estrae i primi dieci caratteri da ogni linea che giunge dallo ''standard input'':
cut -c -10
Estrae i byte che vanno dal quinto al decimo, il sedicesimo e dal ventesimo in poi di ogni linea del file <
cut -b 5-10,16,20- prova.txt
Riga 47:
Le capacità di estrazione di ''cut'' sono alquanto ridotte, il che limita il suo utilizzo ai casi più semplici; esso infatti:
* non permette di riordinare e/o ripetere le sezioni estratte;<ref name="multipass">
Ciò si può ottenere effettuando più passaggi sugli stessi file di input, per produrre file temporanei da unire poi con i comandi [[Join (Unix)|join]] e [[Paste (
* non permette di estrarre solo parte dei dati delle sezioni indicate;<ref name="multipass"/>
* non permette di specificare come separatore dei campi una ''sequenza'' di spazi (non è ad esempio adatto a estrarre dati dall'output del comando [[Ls (Unix)|ls]]).
Se ciò fosse necessario, si può ricorrere a degli ''[[script]]'' nel [[Awk|linguaggio AWK]] o all'uso del comando [[
== Note ==
Riga 58:
== Voci correlate ==
* [[Awk]]
* [[
* [[
== Collegamenti esterni ==
* {{cita web
|url=
|titolo=cut: Print selected parts of lines
|accesso=14
|
|lingua=en
}}
Riga 73:
{{Portale|informatica}}
[[Categoria:
[[Categoria:
|