GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo eliminar todos los archivos excepto un archivo con nombre de una carpeta específica?

Esta pregunta ya tiene respuestas aquí :Eliminar todos los archivos excepto los archivos con la extensión pdf en un directorio

(13 respuestas)
Cerrado hace 5 años.

Esta es la situación.

Tengo un directorio que contiene muchos archivos con diferentes extensiones. Quiero eliminar todos los archivos excepto uno con un nombre específico.

Esto podría hacerse fácilmente usando la GUI seleccionando todo y presionando ctrl y anulando la selección del archivo en cuestión.

Eso es exactamente lo que quiero, pero ¿cómo puedo hacerlo desde la línea de comandos?

Por ejemplo: dirA contiene los siguientes archivos:

a.txt
b.txt
c.php
d.html
a.db
b.db
e.html

Quiero eliminar todos los archivos manteniendo solo el archivo llamado a.txt .

Mejor respuesta

He venido con este sencillo y gran comando:

rm !(a.txt)

puedes usar ! como una negación

Pruebe el globo con eco primero, es decir,

echo !(a.txt)

Si no funciona, para bash es posible que deba habilitar esto con

shopt -s extglob

Si desea conservar ambos a.txt y b.txt , puede usar !(a.txt|b.txt) o !([ab].txt) .

Editar:

para hacer rm trabajando recursivamente solo agregue -r Me gusta

rm -r !(a.txt)

y también, está trabajando con la carpeta. solo necesita cambiar el nombre al nombre del directorio, como para a_dir

rm -r !(a_dir)

Ubuntu
  1. 3 formas de eliminar todos los archivos de un directorio excepto uno o algunos archivos con extensiones

  2. Cómo eliminar archivos y directorios en Linux desde la línea de comandos

  3. ¿Cómo dividir un archivo de texto en varios archivos *.txt?

  4. ¿Cómo eliminar todos los archivos en un directorio excepto algunos?

  5. Eliminar todas las carpetas dentro de una carpeta excepto una con un nombre específico

¿Cómo acceder a archivos Flash desde sitios web de transmisión?

¿Cómo mover archivos de una cuenta de usuario a otra en la misma computadora?

¿Cómo matar todos los procesos aparte de uno específico?

¿Cómo acceder a los archivos de Windows desde Ubuntu?

¿Cómo eliminar todos los archivos en una carpeta particular presente en las subcarpetas del directorio actual, excluyendo un archivo determinado?

Cómo eliminar archivos/carpetas a través del administrador de archivos