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 findda, Some report.docxdeberí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 usexargssin pasar el-print0afind.