LinuxParty
Las útiles herramientas y comandos proporcionados por el sistema operativo Linux hacen posible alcanzar/cumplir numerosos objetivos de manipulación de archivos.
Bajo la administración de archivos de Linux, es posible que deba intercambiar dos archivos por un motivo u otro.
Cuando hablamos de intercambiar dos archivos en un entorno de sistema operativo Linux, no se traduce exactamente en intercambiar/intercambiar la ubicación de estos dos archivos, sino su contenido real.
Para comprender mejor el objetivo de este tutorial, considere la existencia de los siguientes archivos en un entorno de sistema operativo Linux.
file_one.txt en /home/javier/linuxparty/dir1/file_one.txt file_two.txt en /home/javier/linuxparty/dir2/file_two.txt
Supongamos que file_one.txt tiene el siguiente contenido:
Soy el primer archivo.
y file_two.txt tiene el siguiente contenido:
Soy el segundo archivo.
Si vamos a intercambiar con éxito estos dos archivos,
file_one.txt leerá - Soy el segundo archivo. file_two.txt leerá - Soy el primer archivo.
Podemos usar el comando head para enumerar el contenido de estos dos archivos antes de intercambiar.
$ head /home/javier/linuxparty/dir1/file_one.txt $ head /home/javier/linuxparty/dir1/file_two.txt
Ahora estamos listos para buscar una solución viable para intercambiar estos dos archivos:
Intercambiar contenido de dos archivos usando el comando mv
Según su página de manual, el comando mv es efectivo tanto para cambiar el nombre como para mover archivos de una ubicación a otra.
En la mayoría de los lenguajes de programación, cuando queremos intercambiar los valores de dos variables, el enfoque más válido es implementar una variable temporal. Echa un vistazo a la siguiente demostración:
temporal = x x = y y = temporal
La versión del comando mv del intercambio de valores de las dos variables anteriores se muestra a continuación:
mv archivo_uno.txt temp mv archivo_dos.txt archivo_uno.txt mv temp archivo_dos.txt
A partir de la implementación algorítmica anterior, file_one.txt primero se mueve al directorio temp (o si no existe el directorio se renombra el archivo con ese nombre), luego file_two.txt se renombra a file_one.txt y file_one.txt dentro del directorio temp se renombra a file_two.txt. (o si no existe el directorio se renombra el archivo)
Sin embargo, no siempre es una buena idea almacenar archivos temporales en el directorio /temp ya que el directorio (que contiene datos confidenciales) es accesible para cualquier usuario, por lo que representa un riesgo para la seguridad.
Para ejecutar simultáneamente los tres comandos mv anteriores , tenemos que concatenarlos con el &&operador. Este operador se asegura de que la ejecución del comando anterior sea exitosa antes de que se ejecute el último comando.
$ mv /home/javier/linuxparty/dir1/file_one.txt /home/javier/linuxparty/dir1/tmp.file_one
$ mv /home/javier/linuxparty/dir2/file_two.txt /home/javier/linuxparty/dir1/file_one.txt
$ mv /home/javier/linuxparty/dir1/tmp.file_one /home/javier/linuxparty/dir2/file_two.txt
Confirmemos si los dos fueron archivos intercambiados con éxito:
$ head /home/javier/linuxparty/dir1/file_one.txt $ head /home/javier/linuxparty/dir1/file_two.txt
Como era de esperar, file_one.txt tiene contenido file_two.txt y file_two.txt tiene contenido file_one.txt .
¿Conoce otras formas geniales de intercambiar el contenido de dos archivos? Siéntase libre de dejar un comentario o retroalimentación.

-
Scripting
- Shell Scripting para automatizar las tareas de mantenimiento del sistema Linux
- (Nuevo) Script colorido y elegante para comprobar la carga de trabajo (Re-ACTUALIZADO)
- Script para comprobar el Estado General del Ordenador / Servidor.
- Script Linux y BAT de Windows para abrir ficheros aleatoriamente
- Bash-it - un Framework de Bash para controlar sus scripts y aliases
- 3 scripts Linux para monitorizar, hacer copias de seguridad y recoger informació
- Comprensión y aprendizaje de scripts de shell básicos y solución de problemas del sistema de archivos de Linux
- Transfer.sh - Fácil intercambio de archivos desde la línea de comandos de Linux
- 7 Ejemplos de operadores para Grep, como Grep OR, Grep AND y Grep NOT en Linux
- Entrecomillar un resultado obtenido por find
- Script de cuenta atrás en Linux (contdown)
- Quitar la primera y última FILA en una salida, un espacio vacío o en un fichero Shell bash con Linux