rm todos los resultados de mdfind, manejando rutas con espacios

1

Ya resolví esto con sed, pero debe haber una mejor manera de manejar los espacios. También me he topado con algunos de mis scripts.

mdfind '(kMDItemFSName=*.ipsw)'

devuelve

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

al intentar canalizar esto, se rompe debido a los espacios. He intentado varios métodos, incluyendo

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

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

la única solución que encontré fue

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

pero debe haber una mejor manera.

¡Gracias por tu ayuda!

    
pregunta jakethedog 15.10.2015 - 09:50

1 respuesta

2

Puede usar mdfind -0 para imprimir un carácter nulo después de cada ruta. Luego, xargs -0 para analizar la lista en cada carácter nulo en lugar de usar el espacio en blanco predeterminado.

    
respondido por el Kent 15.10.2015 - 10:06

Lea otras preguntas en las etiquetas