Busque y copie cierto tipo de archivos de un directorio a otro
Mi disco duro externo es un desastre. Sí, porque he dejado todos los archivos en un solo directorio. Simplemente me daba pereza organizar archivos y carpetas en el orden correcto. Me llevó más tiempo buscar un archivo en particular. Entonces, pensé que sería mucho mejor si organizara 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 vídeo) deben ir a un directorio llamado Multimedia, los archivos de imagen a la carpeta Imágenes y los elementos oficiales relacionados a una carpeta llamada >ostechnix.
Sin embargo, encontrar y copiar manualmente cada tipo de archivo en particular es una tarea tediosa y que requiere bastante tiempo. Tomará horas encontrar y copiar todos los archivos si tiene una gran cantidad de archivos. Así que hice una búsqueda rápida en Google y encontré una solución adecuada. Si alguna vez quisiste copiar cierto tipo de archivos de un directorio a otro en Linux y sistemas operativos tipo Unix, aquí tienes una forma de hacerlo. Podría haber muchas formas de hacer esto, pero descubrí que el siguiente método es fácil y sencillo de seguir.
Busque y copie cierto tipo de archivos de un directorio a otro en Linux
Usaremos el comando 'buscar' para organizar archivos. El comando Buscar viene preinstalado en la mayoría de las distribuciones tipo 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.
Comprobemos 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.
- find: es el comando para buscar archivos y carpetas en sistemas tipo Unix.
- -iname '*.mp3': busca archivos que coincidan con la extensión .mp3.
- -exec cp: le indica que ejecute el comando 'cp' para copiar archivos desde el directorio de origen al de destino.
- {} - se reemplaza automáticamente con el nombre 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 que se ejecutarán nuevamente en el próximo partido.
¿Claro? ¡Bien! Ahora, revisemos el directorio test2 para verificar si los archivos se copiaron correctamente.
ls /home/sk/test2
El resultado de muestra sería:
'Bombay Rockers.mp3' Maruvaarthai.mp3
'Marconi Union - Sleepless.mp3'
Como puede ver, todos los archivos con 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 también de sus subdirectorios. Si no desea hacer eso, utilice el indicador -max Depth. Por ejemplo, el siguiente comando copiará todos los archivos .mp3 únicamente del directorio de origen, pero no de sus subdirectorios.
find -maxdepth 1 -iname '*.mp3' -exec cp {} /home/sk/test2/ \;
De esta manera puedes ahorrar mucho tiempo cuando quieras encontrar un tipo de archivo en particular. Este truco podría resultar útil cuando tenga que transferir una gran cantidad de diferentes tipos de archivos de un directorio a otro.
Lectura relacionada:
- Copiar tipos de archivos específicos manteniendo la estructura de directorios en Linux
Para obtener más detalles, consulte las páginas de manual.
man find
También hay un script llamado 'Clasificador' que organizará automáticamente sus archivos según 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 similares de archivos en carpetas específicas
Espero que esto ayude.