Linux Adictos Isaac P. E.  

Los globs te ayudan: cómo borrar todos los ficheros excepto uno

Nautilus en Ubuntu

Los globs y las pipes de Unix son muy beneficiosas en muchos casos cuando trabajamos desde la consola. Todos ustedes habrán usado las tuberías o habrán usado los famosos caracteres como el comodín * para sustituir a nombres, etc. Pues bien, seguro que también se habrán encontrado con el problema de querer borrar todos los ficheros de un directorio excepto uno o varios de ellos. Si hay pocos no es un problema, se puede hacer fácilmente incluso desde el modo gráfico.

Pero si existen muchísimos y estamos trabajando desde la consola la cosa se complica un poco más. Pero eso es solo por no tener recursos, ya que existen opciones sencillas que podemos explotar para que nos ayuden a que tareas complicadas se transformen en algo de lo más sencillo. Pues bien, en éste sencillo tutorial os explicamos cómo poder hacer eso solo usando un simple símbolo… Fácil, verdad? Pues vamos a pasar a la práctica:

Lo primero, yo voy a imaginar que tenemos un directorio llamado Fotos en el que queremos borrar todos los ficheros de imágenes .jpeg que hay en su interior. Vamos a imaginar que hay 100 fotos. Y que las queremos a eliminar todas excepto una de ellas que se llama nat7.jpg. El primer paso es dirigirnos hasta dicho directorio con ayuda del comando cd. Por ejemplo:


cd /home/Fotos

Luego usaremos el comando rm como hacemos frecuentemente cunado queremos borrar algo, pero le indicaremos que queremos borrarlo todo menos esa foto que queremos conservar, para ello usaremos el carácter ! tal que así:


rm -f !(nat7.jpg)

Con eso le estamos negando el borrado a rm para que borre todo excepto el fichero llamado nat7.jpg. Si te diriges al directorio y haces un listado del contenido, podrás comprobar que efectivamente se ha borrado todo menos la foto deseada:


ls /home/Fotos

Ahora puedes jugar con este glob para hacer otras cosas, como por ejemplo borrar todos los ficheros de un directorio menos los de MP3 con !(*.mp3) o también salvar del borrado a varios ficheros o formatos como por ejemplo con !(nat7.jpg | isa5.jpg) o con !(*.txt | *.mp3). Las posibilidades son muchas…¡Esto es Unix, esto es Linux!

El artículo Los globs te ayudan: cómo borrar todos los ficheros excepto uno ha sido originalmente publicado en Linux Adictos.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.