LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías