Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

468
Views
¿Cómo eliminar varias carpetas en paralelo?

Tengo dos directorios en el mismo nivel y puedo hacer:

 rm -rf dir1/; rm -rf dir2/

pero se ejecutarán secuencialmente, ¿cómo podría eliminarlos en paralelo? ¿Existe también una solución genérica que me permita extenderme a muchas carpetas?

Actualizar

Los directorios pueden estar profundamente anidados y contener otros directorios y así sucesivamente.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Ejecutar los comandos en segundo plano

 rm -rf dir &; rm -rf dir2 &;

sintaxis

 long_command with arguments > redirection &

puede capturar cualquier mensaje redirigiendo la salida del comando a un archivo.

Estos enlaces ayudarán ==> http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

Editar :

El título de la pregunta y el ejemplo dado dan la impresión de que el problema es muy pequeño. Pero una recompensa adicional que muestra la gravedad del problema.

Sería mejor si especifica la naturaleza de sus archivos. Sin embargo, estoy proporcionando una eliminación basada en división que puede implementarse como ejecuciones paralelas. Puede probar las siguientes opciones según sus requisitos.

  • borrar archivos por tamaño
  •  find /yourpath/folder1 -size +1048576 -exec rm -f {} \; & find /yourpath/folder2 -size +1048576 -exec rm -f {} \; &

  • borrar archivos por extensión
  • encuentre extensiones usando el siguiente comando

     ls -l /yourpath/folder1 | awk '{print $9}' | awk -F. '{print $(NF)}' |sort |uniq

    puede obtener un resultado como

     .txt .log .tmp .zip

    ahora, elimine los archivos según las extensiones

     find yourpath/folder1 -name '*.txt' -exec rm {} \; & find yourpath/folder1 -name '*.tmp' -exec rm {} \; & find yourpath/folder1 -name '*.log' -exec rm {} \; & find yourpath/folder2 -name '*.txt' -exec rm {} \; & find yourpath/folder2 -name '*.tmp' -exec rm {} \; & find yourpath/folder2 -name '*.log' -exec rm {} \; &

  • borrado de archivos por hora modificada
  • El siguiente comando intenta eliminar archivos de más de 5 días.

     find yourpath/folder1 -mtime +5 -exec rm {} \;

    O

     find yourpath/folder2 -mtime +5 |xargs rm

  • borrando carpeta y sus subcarpetas incluyendo sus archivos
  •  find foldername -exec rm -rf {} \; &

    ejemplo de estructura de carpetas y subcarpetas

    over 4 years ago · Santiago Trujillo Report

    0

    En caso de que quiera hacer algo más que eliminar directorios en paralelo, puede hacer muchas cosas sofisticadas en paralelo con GNU paralelo . Como a menudo no es una utilidad básica en las distribuciones, es posible que deba instalarlo utilizando su administrador de paquetes favorito, por ejemplo, apt-get install parallel .

    Pero luego, puede hacer cosas geniales como esta, digamos que ejecuta 4 procesos paralelos, quiere mostrar el progreso, sin avisos molestos y deja que en paralelo ejecute un comando de suspensión esperando 5 s, 10 s, 15 s, 20 s cada uno.

     $ parallel -j 4 --progress --no-notice sleep ::: 5 10 15 20 Computers / CPU cores / Max jobs to run 1:local / 4 / 4 Computer:jobs running/jobs completed/%of started jobs/Average seconds to complete local:0/4/100%/5.0s

    Su ejemplo se ejecutaría así:

     $ parallel --no-notice rm -rf ::: dir1 dir2 dir3

    Siéntase libre de consultar el buen tutorial .

    over 4 years ago · Santiago Trujillo Report

    0

    Tuve que limpiar algunas carpetas en /media lo más rápido posible.
    El siguiente comando pudo eliminar 9T de datos en cada uno de los 80 discos en aproximadamente 5mn

     $ sudo find /media -maxdepth 2 -name "data-8" -type d | while read folder; do eval "sudo rm -rf ${folder} &"; done

    Esto pateó 80 rm -rf paralelos en el fondo

    over 4 years ago · Santiago Trujillo Report
    Answer question
    Find remote jobs

    Discover the new way to find a job!

    Top jobs
    Top job categories
    Business
    Post vacancy Pricing Sales
    Legal
    Terms and conditions Privacy policy
    © 2026 PeakU Inc. All Rights Reserved.
    Andres GPT
    Show me some job opportunities
    There's an error!