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 -c
die einfachere Lösung.