我需要找出如何將 file1 複製到 file2(除了最後一個位元組)。我一直在四處尋找並使用 dd 命令,但跳過選項只允許在輸入檔案的開頭跳過。
謝謝
答案1
使用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
所以
head -c -1 file1 > file2
答案2
源自發布的答案“如何在 Bash 中只刪除檔案的最後一個位元組?”在 Quora 上:
dd if=file1 of=file2 bs=1 count=$(( $( find file1 -printf '%s' ) - 1 ))
或者...
dd if=file1 of=file2 bs=1 count=$(( $( stat -c%s file1 ) - 1 ))
然而,head -c
正如另一個答案中所述,這是更簡單的解決方案。