Necesito saber cómo puedo copiar un archivo1 a un archivo2 excepto el último byte. Estuve mirando a mi alrededor y encontré el comando dd, pero la opción de omitir solo permite omitir al inicio del archivo de entrada.
Gracias
Respuesta1
Usando head -c
:
-c, --bytes=[-]NUM
print the first NUM bytes of each file; with the leading '-',
print all but the last NUM bytes of each file
Entonces
head -c -1 file1 > file2
Respuesta2
Derivado de una respuesta publicada en"¿Cómo puedo cortar sólo el último byte de un archivo en Bash?" en Quora:
dd if=file1 of=file2 bs=1 count=$(( $( find file1 -printf '%s' ) - 1 ))
O...
dd if=file1 of=file2 bs=1 count=$(( $( stat -c%s file1 ) - 1 ))
Sin embargo, head -c
como se indica en la otra respuesta, es la solución más fácil.