GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo encontrar y copiar cierto tipo de archivos de un directorio a otro en Linux

Mi disco duro externo es un desastre. Sí, porque he volcado todos los archivos en un solo directorio. Era demasiado perezoso para organizar archivos y carpetas en el orden correcto. Me tomó más tiempo cuando busco un archivo en particular. Entonces, pensé que sería mucho mejor si organizo cierto tipo de archivos en directorios separados. Decidí crear carpetas para cada tipo de archivo y almacenar los archivos en las carpetas respectivas. Digamos, por ejemplo, que todos los archivos multimedia (audio y video) deben ir a un directorio llamado Multimedia , archivos de imagen a Imágenes carpeta y material oficial relacionado a una carpeta llamada ostechnix .

Sin embargo, encontrar y copiar manualmente cada tipo de archivo en particular es una tarea tediosa y que consume mucho tiempo. Tomará horas encontrar y copiar todos los archivos si tiene una gran cantidad de archivos. Entonces, hice una búsqueda rápida en Google y encontré una solución adecuada. Si alguna vez quiso copiar cierto tipo de archivos de un directorio a otro en sistemas operativos similares a Unix, esta es una forma de hacerlo. Puede haber muchas maneras de hacer esto, pero descubrí que el siguiente método es fácil y simple de seguir.

Encuentre y copie cierto tipo de archivos de un directorio a otro en Linux

Vamos a usar el comando 'buscar' para organizar archivos. El comando Find viene preinstalado en la mayoría de las distribuciones similares a Unix, así que no nos molestemos en instalarlo. A los efectos de esta guía, mostraré cómo buscar y copiar rápidamente archivos mp3 desde un directorio llamado test1. a otro directorio llamado test2 .

Descargar - Libro electrónico gratuito:"Beyond Linux® From Scratch - Versión 6.3"

Revisemos el contenido del directorio de prueba.

$ ls /home/sk/test1

Salida de muestra:

'Bombay Rockers.mp3' 'Marconi Union - Sleepless.mp3' wiua9.jpg
 books.txt Maruvaarthai.mp3

Como puede ver en el resultado anterior, hay tres archivos mp3 en el directorio test1. Copiemos estos archivos mp3 al directorio test2. Para hacerlo, vaya al directorio test1 usando el comando:

$ cd /home/sk/test1/

Luego, ejecute el siguiente comando para buscar y copiar todos los archivos que coincidan con la extensión .mp3 .

$ find -iname '*.mp3' -exec cp {} /home/sk/test2/ \;

Analicemos el comando anterior y veamos qué hace cada opción.

  • buscar - Es el comando para encontrar archivos y carpetas en sistemas tipo Unix.
  • -iname '*.mp3' - Buscar archivos que coincidan con la extensión .mp3.
  • -cp ejecutivo - Te dice que ejecutes el comando 'cp' para copiar archivos del directorio de origen al directorio de destino.
  • {} - se reemplaza automáticamente con el nombre de archivo de los archivos encontrados por el comando 'buscar'.
  • /home/sk/test2/ - Directorio de destino para guardar los archivos coincidentes.
  • \; - Indica que los comandos a ejecutar ya están completos, y volver a ejecutar el comando en el próximo partido.

¿Claro? ¡Bueno! Ahora, revisemos el directorio test2 para verificar si los archivos se copiaron correctamente.

$ ls /home/sk/test2

La salida de muestra sería:

'Bombay Rockers.mp3' Maruvaarthai.mp3
'Marconi Union - Sleepless.mp3'

Como puede ver, todos los archivos con la extensión .mp3 se han copiado del directorio test1 al directorio test2. De manera similar, puede copiar otros tipos de archivos a diferentes directorios de su elección como se describe anteriormente.

El comando anterior copiará todos los archivos *.mp3 del directorio de origen y sus subdirectorios también. Si no quiere hacer eso, use -max depth bandera. Por ejemplo, el siguiente comando copiará todos los archivos .mp3 solo del directorio de origen, pero no de sus subdirectorios.

$ find -maxdepth 1 -iname '*.mp3' -exec cp {} /home/sk/test2/ \;

De esta manera, puede ahorrar mucho tiempo cuando desee encontrar un tipo de archivo en particular. Este truco puede ser útil cuando tiene que transferir una gran cantidad de diferentes tipos de archivos de un directorio a otro.

Lectura relacionada:

  • Copie tipos de archivos específicos manteniendo la estructura de directorios en Linux

Para obtener más detalles, consulte las páginas man.

$ man find

También hay un script llamado 'Classifier' que organizará automáticamente sus archivos en función de la extensión del archivo en diferentes directorios. Se pueden encontrar más detalles en el enlace que figura a continuación.

  • Cómo organizar automáticamente tipos de archivos similares en carpetas específicas

Espero que esto ayude.


Linux
  1. ¿Usar Buscar para encontrar cierto directorio y eliminar todos los archivos excepto un directorio?

  2. Copie la estructura de carpetas (sin archivos) de una ubicación a otra

  3. ¿Cómo mover (y sobrescribir) todos los archivos de un directorio a otro?

  4. ¿Cómo cambiar el nombre de varios archivos de una extensión a otra en Linux/Unix?

  5. ¿Cómo copio un árbol de directorios pero no los archivos en Linux?

Cómo copiar archivos y directorios en Linux

Cómo contar archivos en el directorio en Linux

Cómo encontrar y eliminar archivos duplicados en Linux

Cómo encontrar archivos duplicados en Linux y eliminarlos

Cómo copiar archivos y directorios en la terminal de Linux

¿Cómo copiar un archivo de otro directorio al actual?