Tras leer el título puedes pensar, pues muy sencillo, uso el comando cp o mv y uso el carácter comodín * para mover todos de una vez. Pero eso movería todos y cada uno de los ficherso que haya en el interior del directorio donde estés trabajando. Pero no queremos eso exáctamente, lo que queremos mostrar en este minitutorial es algo un poco más refinado, es decir, mover solo ciertos formatos del interior de ese directorio a otro lugar.
Recuerda que cuando digo mover, también podría ser renombrar. Dicho esto, vamos a ponernos manos a la obra para demostrar cómo se puede hacer esto de una forma super fácil y rápida, para que cuando tengas que purgar ciertos formatos de fichero no tengas que andar uno a uno moviéndolos, sino que puedas automatizarlo todo desde una sola línea de comandos. Bien, para mover diferntes formatos de ficheros de un directorio a otro directorio distinto, el formato de comando puede ser uno de los siguientes:
mv /ruta/origen/*.{ext1, ext2, extn} /ruta/destino
mv *.ext1 *.ext2 *.extn /ruta/destino
Sirven ambos casos, en el primero lo que hacemos es especificar la ruta de origen y luego las extensiones que vamos a mover. Solo esas se moverán y no otras, afectando a cualquier fichero, sea cual sea su nombre. En el segundo caso, se supone que estamos ya trabajando desde el directorio donde se encuentran los ficheros que vamos a mover…
Por ejemplo, imagina que queremos mover todos los vídeos de un directorio a otro diferente. En cambio, en dicho directorio existen documentos .txt, .odt, y también música en .mp3. Si solo nos interesara mover los .flv, .mp4, .avi, y .mkv, lo que haríamos sería lo siguiente:
mv /home/Documentos/*.{flv, mp4, avi, mkv} /home/Multimedia
Así de sencillo, cuando listemos el contenido de dicho directorio origen con un ls, veremos que todos los ficheros movidos ya no están, pero sí estarán los que no hemos querido afectar. ¡Un ejemplo muy sencillo, pero que seguro que los principiantes agradecen!
excelente aporte y util