Tutoriales

Cómo eliminar archivos con una extensión específica desde la línea de comandos de Linux

Si tiene una gran cantidad de archivos con la misma extensión o patrones de archivo similares que deben eliminarse del sistema, no vale la pena eliminar los archivos uno por uno.

Puede ahorrar mucho tiempo con un comando que le permite eliminar todos los archivos que comparten la misma extensión o patrón a la vez.Por ejemplo, puede utilizar comodines como "^", "*", "?",[]" Juntos con find y rm Comando para eliminar archivos que coincidan con los criterios dados.

Entonces, comencemos esta guía eliminando algunos archivos usando comodines.

Eliminar archivos usando comodines en Linux

Como tú sabes, rm Ordenar Acepta uno o más argumentos para eliminar el archivo del sistema; sin embargo, puede usar comodines como «^, *,?, []» para eliminar varios archivos sin especificar varios nombres de archivo.

Permítanme demostrar cómo usar comodines para eliminar varios archivos a la vez. Si observa detenidamente la imagen a continuación, puede deducir que creé varios archivos con un patrón determinado.

Eliminar archivos usando patrones comodín

Llamar al siguiente comando me permitirá eliminar solo los archivos que contienen un carácter adicional «foo_»dejando el resto del archivo intacto:

$ rm -v foo_*

El comando anterior produce el siguiente resultado:

Se eliminaron varios archivos usando comodines
Se eliminaron varios archivos usando comodines

si quieres que borre «.texto» archivos incluidos «rico» Como una subcadena, no importa dónde esté «foo» en el nombre del archivo, necesito agregar «*» entre «foo» y terminar con «*», esto eliminará todos los archivos que contengan «foo» en el nombre del archivo, para hacer esto Ejecuto el siguiente comando:

$ rm -v *foo*.txt

Si quieres que te dé más ejemplos, que así sea. Estaría más que feliz de proporcionar más ejemplos si cree que sería útil.

Veamos otro ejemplo, usaré el siguiente comando para borrar cualquier archivo que no comience con «rico» Especifique rangos usando corchetes:

$ rm -v _*[a-z].txt

¿Puedes adivinar por qué uso asteriscos?

personajes en este patrón? Si no lo entiende, pregúnteme en los comentarios, aquí está el resultado del comando anterior:
eliminar archivos que no comienzan con foo

eliminar todos los archivos que no comiencen con foo

Podría jugar con más comodines, pero no lo haré, porque ahora es el momento de jugar con comodines para eliminar archivos, y una cosa que sugiero que haga es practicar en un nuevo directorio para evitar la eliminación innecesaria de archivos.

  • Para mayor comodidad, también proporcioné una pequeña hoja de trucos con ejemplos, para que pueda consultarla cuando no esté seguro de cómo usar comodines: ^
  • excluir de la coincidencia *
  • coincide con una o más ocurrencias de ?
  • [] coincidir con un solo evento

Especificar el rango coincidente

Ahora pasemos a la siguiente sección donde aprenderá cómo encontrar y eliminar recursivamente todos los archivos de una extensión particular del directorio actual.

Eliminar todos los archivos con extensión de archivo en Linux

Arriba, aprendió sobre la eliminación de archivos con un patrón específico, elimina archivos de acuerdo con el patrón dado, ahora usaremos el mismo comodín para eliminar archivos recursivamente a través de múltiples directorios a la vez. find usarás

comando para este propósito, este es uno de mis comandos favoritos porque puede usar varias opciones para encontrar casi cualquier cosa. Entonces, escribí un artículo sobre más de 20 comandos de búsqueda que uso todos los días, así que échales un vistazo si quieres aprenderlos.

Para fines de demostración, creé directorios y subdirectorios, y moví algunos archivos de extensión basados ​​en PNG a todos los directorios, como se muestra en la imagen a continuación.
Muestra el número de archivos en el directorio actual usando el comando de árbol

Use el comando de árbol para mostrar la cantidad de archivos en el directorio actual -delete Le mostraré cómo encontrar el archivo correcto y, una vez que esté seguro del resultado, agregaré xargs o find eliminar resultados, que es la forma más segura de eliminar archivos usando

Ordenar.

$ find . -name "*.png"

En la terminal, ejecute el siguiente comando para encontrar recursivamente todos los archivos png en el directorio actual, una vez que encuentre el archivo, imprimirá la ruta del archivo en la pantalla:

Aquí está el resultado del comando anterior:
encontrar resultados de comandos

encontrar resultados de comandos -delete Una vez que esté satisfecho con los resultados, puede agregar

$ find . -name "*.png" -delete 

Opción para eliminar archivos. Después de ejecutar ese comando, el archivo desaparecerá de su sistema, así que mejor tenga cuidado.

$ find . -name "*.png" | xargs rm 

Si el comando anterior no funciona, intente esto:

Muy sencillo, ¿verdad?

envolver

Por lo tanto, debo levantar la sesión. El artículo «Linux rm Command Pro con sintaxis avanzada» analiza algunos otros métodos que puede usar para eliminar archivos de su computadora.

De todos modos, si hay algo que deba considerar, use el espacio a continuación para proporcionar información adicional o comentarios.

Un hombre apasionado por la tecnología que ha explorado algunas tecnologías increíbles y está explorando más. En el camino, tuve la oportunidad de trabajar en el desarrollo de Android, Linux, AWS y DevOps utilizando una variedad de herramientas de código abierto.

LEER  Cómo poner al día Alpine Linux 3.12 a 3.13

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba