GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo escribir un archivo en otro?

Tengo un archivo vacío (solo contiene ceros) de 9,0 KB de tamaño y necesito escribir otro archivo (de 1,1 KB de tamaño), pero el primer archivo no debe perder su tamaño ni el resto de su contenido. Entonces, si todo el archivo es 00000000000000... ahora, necesito escribir el segundo archivo y dejar los ceros como están. He intentado usar dd , pero no lo he logrado:el archivo cambia de tamaño.

dd if=out/one.img of=out/go.img

¿Alguien sabe cómo puedo hacerlo?

Respuesta aceptada:

Para sobrescribir el inicio del archivo de destino sin truncarlo, proporcione el notrunc directiva de conversión:

$ dd if=out/one.img of=out/go.img conv=notrunc

Si desea que los datos del archivo de origen se agreguen al destino, puede hacerlo con seek directiva:

$ dd if=out/one.img of=out/go.img bs=1k seek=9

Esto le dice a dd que el tamaño del bloque es de 1 kiB, por lo que seek avanza 9 kiB antes de realizar la escritura.

También puede combinar las dos formas. Por ejemplo, para sobrescribir el segundo Bloque de 1 kiB en el archivo con una fuente de 1 kiB:

$ dd if=out/one.img of=out/go.img bs=1k seek=9 conv=notrunc

Es decir, omite el primer 1 kiB del archivo de salida, sobrescribe los datos que encuentra allí con datos del archivo de entrada y luego cierra la salida sin truncarla primero.


Linux
  1. ¿Cómo escribir un archivo con C en Linux?

  2. Cómo ejecutar un archivo sh desde otro archivo sh

  3. ¿Cómo escribir un entero en un archivo binario usando Bash?

  4. Cómo grep \n en el archivo

  5. ¿Cómo copiar las líneas 10 a 15 de un archivo en otro archivo, en Unix?

Cómo escribir datos en un archivo en Linux

Cómo eliminar archivos enumerados en otro archivo en Linux

¿Cómo dividir un archivo Mp3?

Cómo importar datos en Apache Solr

Cómo hacer eco en un archivo

Tutorial de Unix Sed:Cómo escribir en un archivo usando Sed