GNU/Linux >> Tutoriales Linux >  >> Linux

Verifique el uso del disco de los archivos devueltos con espacios

¿Qué pasa si dejamos que find maneje los nombres de los archivos?

find . -maxdepth 1 -iname '*syed*' -exec du -ch {} +

¿Qué tal esto?:

find . -maxdepth 1 -iname '*syed*' -print0 | xargs -0 du -ch

Explicación de opciones:

  • find – Lo que estabas usando para encontrar archivos
    • -print0 – Divida cada resultado con un carácter nulo, que es un carácter que no puede aparecer en un nombre de archivo
  • xargs – Ensambla argumentos a un comando canalizado desde la entrada estándar (stdin)
    • -0 – Recibir cada argumento dividido por un carácter nulo
    • du -ch – El comando al que desea pasar los argumentos del archivo

En cuanto a por qué su propuesta sed la forma de escapar no funciona, el \ los caracteres que está tratando de agregar se colocan después del delimitador del argumento de shell (" ") el escape ya ha tenido lugar. Cada palabra, delimitada por un espacio, ya es un argumento.

Mi solución con xargs asegura que cada argumento es una ruta desde find , independientemente de los espacios.


Linux
  1. Verifique el espacio en disco usado en Linux con du

  2. Encuentre archivos y péguelos (con espacios)

  3. Iterar sobre una lista de archivos con espacios

  4. Listar todos los archivos de imágenes gráficas con find?

  5. Eliminar archivos con rm usando find y xargs

Cómo verificar el uso del espacio en disco en Linux

Comando Find de Linux con ejemplos prácticos

Encuentra archivos perdidos con Scalpel

Cómo encontrar archivos con el comando fd en Linux

Cómo verificar el uso del espacio en disco con la utilidad Ncdu

Tutorial de comando de búsqueda de Linux (con ejemplos)