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.