/ / xargs non riesce quando un nome file contiene uno spazio bianco - linux, find, spazio bianco, nomi di file, xargs

xargs non riesce quando un nome file contiene uno spazio bianco - linux, find, spazio bianco, nomi di file, xargs

sto usando xargs per cercare un contenuto in un file ma xargs fallisce a causa dello spazio bianco nel nome del file. Qual è la ragione di questo? Ad ogni modo, posso farlo usando -exec nel find comando.

risposte:

3 per risposta № 1

Quando si usa find e xargs su file che possono contenere spazi bianchi, utilizzare -print0 con find e -0 con xargs, quel modo xargs riceve i nomi dei file separati da nul invece e chiamerà l'utilità con gli argomenti corretti.

Ad esempio, cercando "stringa" in tutti i file nella directory corrente (e in basso):

$ find . -type f -print0 | xargs -0 grep "string"

Vedere i manuali per entrambi find e xargs.