Linux tips and tricks: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nimrod (discussione | contributi)
Nimrod (discussione | contributi)
Riga 287:
; -fprint ''file'': come ''-printf'', ma l'output viene inviato a ''file''.
; -fprintf ''file format'': come ''-fprint'', ma in più si può specificare un formato, come in ''-printf''.
; -print0: come ''-print'', ma ogni file viene mostrato con un carattere ''null'' (''\0'') alla fine, come nelle stringhe in C. Questo rende più facile separare i risultati se devono essere interpretati successivamente da qualche programma. Un esempio è il potente comando ''xargs'', che esegue un comando qualsiasi su tutti i file che riceve in input, e che ha un'opzione ''-0'' proprio per separare i file in input in base al carattere ''null''.
; -fprint0 ''file'': come ''-print0'', ma il risultato è inviato a ''file''.
; -ls : equivale a mostrare tutti i file selezionati col comando ''ls -dils''.
; -fls ''file'': come ''-ls'', ma l'output è inviato a ''file''.
 
==== Azioni di rimozione ====
 
Esiste un'unica opzione esplicitamente dedicata alla rimozione dei file selezionati:
 
; -delete : cancella ognuno dei file selezionati, con valore vero se ci riesce, altrimenti con un messaggio di errore.
 
==== Azioni avanzate ====
 
Le azioni qui descritte consentono in pratica di eseguire qualsiasi comando, più o meno complesso, su ogni file selezionato in base ai test. Inutile dire che possono avere effetti devastanti se non sono utilizzate con molta prudenza.
 
; -exec ''comando {} ;'' : esegue ''comando'' per ogni file selezionato. Il nome del file va indicato esplicitamente con la notazione ''{}'. Il punto e virgola finale è necessario ma, quando il comando è eseguito da una shell, va scritto come ''\;'' per evitare che la shell lo interpreti. Da notare che ''comando'' è eseguito nella directory in cui è invocato ''find''.
 
; -exec ''comando {} +'' : esegue ''comando'' una sola volta, passandogli come argomento l'intero elenco di file trovati. Se ''comando'' accetta già di per sé un numero arbitrario di argomenti, questa sintassi può avere risultati del tutto equivalenti alla precedente, ma in generale c'è una notevole differenza.
 
; -execdir ''comando {} ;'', -exec ''comando {} +'' : come le due azioni precedenti, ma ''comando'' è eseguito nella directory contenente il file selezionato, per ciascuno dei file selezionati. La versione ''+'' non esegue il comando una sola volta, ma tante volte quante sono le sottodirectory incontrate, e per ciascuna di esse esegue ''comando'' passandogli come argomenti tutti i file selezionati in quella directory.
 
== Compressione ==