GNU/Linux >> Tutoriales Linux >  >> Linux

¿Alternativa a 'dd' que no trunca el archivo?

¿Alguien sabe una alternativa para 'dd', que no truncará el archivo, sin usar:conv=notrunc . Agregando conv=notrunc no se admite a través de busybox/toybox debido a la cantidad limitada de espacio.

Por ejemplo, me gustaría el equivalente de

dd bs=4 count=3 skip=2 seek=3 if=file.in of=file.out conv=notrunc

Pero eso funcionaría donde dd no es compatible con conv=notrunc .

Respuesta aceptada:

Utilice el <> estándar sh operador de redirección que abre el archivo en modo lectura+escritura sin truncamiento .

cat < file.in 1<> file.out

Para copiar el contenido de file.in al comienzo de file.out .

Si necesita buscar en el archivo de entrada o salida, y asumiendo su dd sigue siendo compatible con estas directivas:

dd bs=4 count=3 skip=2 seek=3 < file.in 1<> file.out

Si no tiene dd en absoluto, puedes probar head -c , suponiendo que su versión se encargue de dejar el puntero en el archivo en el lugar correcto al salir (lo que no hacían las versiones anteriores de busybox del IIRC).

Por ejemplo, el equivalente de lo anterior sería:

{
  head -c 8 > /dev/null        # seek input fd to offset 8
  head -c 12 <&1 > /dev/null   # seek output fd to offset 12
  head -c 12                   # copy 12 bytes
} < file.in 1<> file.out

Linux
  1. ¿Qué software de compresión de archivos para Linux ofrece la mayor reducción de tamaño?

  2. ¿Es posible encontrar qué Vim/tmux tiene el archivo abierto?

  3. ¿Cómo eliminar las líneas que aparecen en el archivo B de otro archivo A?

  4. ¿Qué hilo maneja la señal?

  5. ¿Cómo borrar el contenido de un archivo desde la línea de comando?

Introducción al sistema de archivos de Linux

Uso del archivo de configuración SSH

¿El comando Cat no muestra las líneas del texto?

Los 10 mejores sistemas operativos alternativos de Windows:¿cuál es mejor para usted?

¿Qué archivo en /proc lee el kernel durante el proceso de arranque?

Mantenga un historial de todas las modificaciones a un archivo de texto