Copie el archivo1 al archivo2 excepto el byte final en 1 comando

Copie el archivo1 al archivo2 excepto el byte final en 1 comando

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 -ccomo se indica en la otra respuesta, es la solución más fácil.

información relacionada