Cut (Unix): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pil56-bot (discussione | contributi)
m smistamento lavoro sporco e fix vari
m tag obsoleti
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 ("<ttcode>-</ttcode>") per indicare di leggere in quel punto lo ''standard input''.
 
Il doppio trattino <ttcode>--</ttcode> (facoltativo) indica che i parametri successivi non sono da considerarsi opzioni.
 
Tra le opzioni principali vi sono:
;<ttcode>-b ''lista''</ttcode>: Estrae dalla linea i byte i cui indici sono specificati dal parametro ''lista''.
;<ttcode>-c ''lista''</ttcode>: Estrae dalla linea i caratteri i cui indici sono specificati dal parametro ''lista''.
;<ttcode>-f ''lista''</ttcode>: Estrae dalla linea i campi i cui indici sono specificati dal parametro ''lista''.
;<ttcode>-d ''carattere''</ttcode>: Se si estraggono campi tramite l'opzione <ttcode>-f</ttcode>, indica il carattere da usare come separatore tra i campi. Il carattere predefinito è il [[carattere di controllo]] ''tab''.
;<ttcode>-n</ttcode>: Se si estraggono byte tramite l'opzione <ttcode>-b</ttcode> e la codifica del testo in uso richiede più byte per carattere, assicura che le sequenze di byte che rappresentano il primo e/o l'ultimo carattere di una sezione siano estratte per intero.
;<ttcode>-s</ttcode>: Se si estraggono campi tramite l'opzione <ttcode>-f</ttcode>, indica di escludere le linee che non contengono il carattere separatore (il comportamento predefinito di ''cut'' prevede di riproporre in output tali linee senza modifiche).
 
Il parametro ''lista'' delle opzioni <ttcode>-b</ttcode>, <ttcode>-c</ttcode> e <ttcode>-f</ttcode> è un elenco di uno o più indici e/o intervalli di indici, separato da virgole ("<ttcode>,</ttcode>") o da spazi ("<ttcode>&nbsp;</ttcode>"), il quale seleziona all'interno delle linee di dati le sezioni da estrarre. Ciascun elemento dell'elenco può essere:
* un ''indice'' numerico, a partire da 1, che indica il byte, carattere o campo da selezionare;
* un ''intervallo'' di indici nella forma <ttcode>''min''-''max''</ttcode> (ad esempio "<ttcode>3-5</ttcode>") che seleziona i byte, caratteri o campi compresi tra gli indici ''min'' e ''max'';
* un ''intervallo'' di indici nella forma <ttcode>''min''-</ttcode> (ad esempio "<ttcode>3-</ttcode>") che seleziona i byte, caratteri o campi a partire dall'indice ''min'' fino al termine della linea;
* un ''intervallo'' di indici nella forma <ttcode>-''max''</ttcode> (ad esempio "<ttcode>-5</ttcode>") che seleziona i byte, caratteri o campi a partire dall'inizio della linea fino all'indice ''max'';
 
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 <ttcode>/etc/passwd</ttcode>, che usa il carattere <ttcode>:</ttcode> come separatore di campo:
cut -f 1,6 -d : /etc/passwd
 
Riga 41:
cut -c -10
 
Estrae i byte che vanno dal quinto al decimo, il sedicesimo e dal ventesimo in poi di ogni linea del file <ttcode>prova.txt</ttcode>:
cut -b 5-10,16,20- prova.txt