find e xargs in bash

Per trovare i file (o anche le directory) secondo una certa proprietà si usa il comando find.
Ad esempio per trovare i file eseguibili si scrive:

find . -executable -type f

in cui -type f specifica di trovare solo i file e non le directory.

Il comando xargs serve invece ad usare i dati passati in stdin (o presi da un file) come argomenti di un comando che viene ripetuto per ciascuno di essi (eventualmente gli argomenti possono essere raggruppati).

Quando ad xargs viene passato l’ output di ls o di find c’è il problema degli spazi vuoti nei path: è necessario combinare i parametri -print0 di find con -0 di xargs:

find . -executable -type f -print0 | xargs -0 chmod -x

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...