Kopiere Datei1 nach Datei2, mit Ausnahme des letzten Bytes in 1 Befehl

Kopiere Datei1 nach Datei2, mit Ausnahme des letzten Bytes in 1 Befehl

Ich muss herausfinden, wie ich eine Datei1 in eine Datei2 kopieren kann, mit Ausnahme des letzten Bytes. Ich habe mich umgesehen und bin auf den Befehl dd gestoßen, aber die Option „Überspringen“ erlaubt nur das Überspringen am Anfang der Eingabedatei.

Danke

Antwort1

Verwendung von 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

Also

head -c -1 file1 > file2

Antwort2

Abgeleitet aus einer Antwort gepostet am„Wie schneide ich in Bash nur das letzte Byte einer Datei ab?“ auf Quora:

dd if=file1 of=file2 bs=1 count=$(( $( find file1 -printf '%s' ) - 1 ))

Oder...

dd if=file1 of=file2 bs=1 count=$(( $( stat -c%s file1 ) - 1 ))

Wie in der anderen Antwort angegeben , ist dies jedoch head -cdie einfachere Lösung.

verwandte Informationen