Tutoriales

Cómo eliminar archivos enumerados en otro archivo en Linux

Bajo una distribución de sistema operativo Linux, todo vale. Dichos entornos de sistemas operativos de código abierto lo llevan a través de una montaña rusa en todo lo que hay que saber sobre los sistemas operativos.

Un aspecto clave que define fuertemente la necesidad y la necesidad continua de un sistema operativo es la gestión de archivos. Ningún sistema operativo maneja la administración de archivos mejor que Linux. Ya sea que desee restringir, crear o mejorar la seguridad de su sistema y archivos de usuario, Linux brinda la mejor experiencia y rendimiento para el usuario.

La terminal de Linux o la interfaz de línea de comandos es un entorno flexible para manipular archivos a través de comandos asociados con la creación, el cambio de nombre, el movimiento y la eliminación de archivos. ¿Qué sucede si aprendió otro ajuste de manipulación de archivos?

Este artículo nos guiará a través de la eliminación de archivos enumerados en otro archivo en un entorno de sistema operativo Linux.

Escenario práctico

Propondremos un árbol de directorios ficticio como referencia. Considere la siguiente estructura de árbol de directorios:

$ tree
Listado de directorio recursivo

De la captura de pantalla anterior, TestDel es el directorio principal con su ruta absoluta siendo /inicio/dnyce/TestDel.

Publicaciones relacionadas
$ pwd
Imprimir directorio de trabajo
Imprimir directorio de trabajo

Él TestDel El directorio tiene otros cuatro directorios (archivos_docx, archivo_jpg, archivo PDFy archivos_xml) en su interior se rellena con archivos de diferentes formatos (docx, jpg, pdf y xml).

Ahora, si queremos eliminar algunos de estos archivos, primero debemos enumerar su ruta absoluta en un archivo. Crearemos un archivo de texto llamado tobeDeleted.txt y agregue la ruta a algunos de estos archivos.

$ sudo nano tobeDeleted.txt
Crear archivo con rutas de archivo
Crear archivo con rutas de archivo

Ahora que tenemos el archivo del que se eliminarán los archivos enumerados, ahora podemos analizar las metodologías viables que iniciarán y ejecutarán su eliminación.

Método 1: usar el comando xargs

Bajo la xargs enfoque, aportes de Entrada estándar son leídas por el xargs comando y luego convertido para usar argumentos que se pueden asociar con otros comandos.

Para eliminar los archivos enumerados anteriormente tobeDeleted.txt archivo, implementaremos y ejecutaremos el xargs comando de la siguiente manera. Él xargs El comando debe apuntar a la ruta absoluta del tobeDeleted.txt Archivo de texto.

$ xargs -I{} rm -r "{}" < /home/dnyce/tobeDeleted.txt 

El comando lee la ruta absoluta de los archivos enumerados y luego verifica su ubicación real para que comience la eliminación.

El titular del lugar "{}" cita las rutas de los nombres de archivo enumerados para el rm -r Comando para eliminar después -I reemplaza la cadena con la siguiente ruta de nombre de archivo que se eliminará.

Ahora podemos continuar y ejecutar el comando de árbol para asegurarnos de que los archivos enumerados se eliminaron realmente con el siguiente resultado del comando cat como punto de referencia.

$ cat tobeDeleted.txt
Ver archivo con rutas de archivo
Ver archivo con rutas de archivo
$ tree /home/dnyce/TestDel
Confirmar eliminación de archivos
Confirmar eliminación de archivos

Como puede ver, nos quedan 10 archivos de los 13 archivos iniciales.

Método 2: usar el comando sed

El enfoque compacto de una sola línea de sed nos ayudará fácilmente a eliminar archivos enumerados en otro archivo. Actualizar tobeDeleted.txt con nuevos entrantes.

$ sudo nano tobeDeleted.txt 
Crear archivo con nuevas rutas de archivo
Crear archivo con nuevas rutas de archivo

Él sed El comando a usar para la eliminación de los archivos que se muestran en la captura de pantalla anterior tendrá el siguiente aspecto:

$ sed 's/.*/rm -r "\0"/' /home/dnyce/tobeDeleted.txt
Eliminar archivos con el comando Sed
Eliminar archivos con el comando Sed

El marcador de posición "\0" apunta a la ruta del nombre del archivo para que lo elimine el rm -r comando donde s trata las rutas de archivo como elementos separados en la lista con diferentes extensiones de archivo (.*).

Como habrás notado, el sed El comando no realiza la eliminación real del archivo por nosotros, sino que genera los comandos de eliminación apropiados que podemos ejecutar cómodamente.

Eliminar archivos en Linux
Eliminar archivos en Linux

Vuelva a ejecutar el árbol para asegurarse de que los archivos se eliminen con el comando gato salida como punto de referencia.

$ cat /home/dnyce/tobeDeleted.txt
Ver archivo con ubicaciones de archivos
Ver archivo con ubicaciones de archivos
$ tree /home/dnyce/TestDel
Confirmar eliminación de archivos
Confirmar eliminación de archivos

Logramos eliminar los archivos enumerados.

Método 3: usar el comando awk

De nuevo, actualice la tobeDeleted.txt expediente con nuevos entrantes.

$ sudo nano tobeDeleted.txt 
Agregar nuevas rutas de archivo
Agregar nuevas rutas de archivo

Él awk El comando a ejecutar es el siguiente:

$ awk -v q='"' '$0 = "rm -r " q $0 q' /home/dnyce/tobeDeleted.txt
Eliminar archivos con el comando Awk
Eliminar archivos con el comando Awk

Él -v asigna la variable q con valor de marcador de posición " y '$0 = "rm -r " q $0 q' genera el comando resultante para eliminar cada uno de los archivos enumerados.

Como se señaló, el awk El comando tampoco realiza la eliminación real de los archivos enumerados por nosotros, pero genera los comandos que podemos usar:

Comandos para eliminar archivos
Comandos para eliminar archivos

ejecutar el árbol comando en referencia a la comando gato salida para confirmar la eliminación de los archivos.

$ cat /home/dnyce/tobeDeleted.txt
Confirmar la eliminación de archivos en el archivo
Confirmar la eliminación de archivos en el archivo
$ tree /home/dnyce/TestDel
Confirmar eliminación de archivos
Confirmar eliminación de archivos

Ha agregado con éxito una nueva habilidad a sus rutinas de administración de archivos de Linux.

LEER  Ollama AI, actualización del sistema operativo Zorin, Linux muy pequeño, Sudo en Windows y más

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