rm tutti i risultati mdfind, gestendo i percorsi con spazi

1

Ho già risolto questo problema con sed, ma ci deve essere un modo migliore per gestire gli spazi. Ho incontrato anche alcuni miei script.

mdfind '(kMDItemFSName=*.ipsw)'

ritorna

/Volumes/disk/november 2014/Users/someuser/Library/iTunes/iPhone Software Updates/iPhone4,2_6.1_12B411_Restore.ipsw

quando si tenta di convogliare questo, si rompe a causa degli spazi. ho provato diversi metodi tra cui

rm $(mdfind '(kMDItemFSName=*.ipsw)')

mdfind '(kMDItemFSName=*.ipsw)' |xargs rm -vf

l'unica soluzione che ho trovato era

mdfind '(kMDItemFSName=*.ipsw)' |sed -e 's/ /\ /g' |xargs rm -vf

ma deve esserci un modo migliore.

Grazie per il tuo aiuto!

    
posta jakethedog 15.10.2015 - 09:50
fonte

1 risposta

3

Puoi usare mdfind -0 per stampare un carattere null dopo ogni percorso. Quindi, xargs -0 analizza l'elenco su ogni carattere nullo invece di utilizzare lo spazio vuoto predefinito.

    
risposta data 15.10.2015 - 10:06
fonte

Leggi altre domande sui tag