Supongamos que quiero eliminar todos los archivos de una carpeta que tengan más de 1 MB.
$ find . -size +1M | xargs -0 rm
Esto no eliminará archivos que tengan espacio en sus nombres. Entonces quiero que cite todos los argumentos que envía rm
. Si lo find
da, Some report.docx
debería pasar "Some report.docx"
a rm
.
¿Cómo puedo hacer eso?
En términos más generales, vea ¿Por qué mi script de shell se ahoga en espacios en blanco u otros caracteres especiales?
—
Gilles 'SO- deja de ser malvado'
Úselo
—
imz - Ivan Zakharyaschev
xargs -d$'\n'
para limitar el delimitador a solo nuevas líneas (y no espacios; esto no procesaría comillas, etc. especialmente - He comprobado en un sistema GNU) - la respuesta dada en stackoverflow.com/a/33528111/94687
xargs
. Además, como sugiere el wiki, no lo usexargs
sin pasar el-print0
afind
.