將 file1 複製到 file2(1 個命令中的最後一個位元組除外)

將 file1 複製到 file2(1 個命令中的最後一個位元組除外)

我需要找出如何將 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正如另一個答案中所述,這是更簡單的解決方案。

相關內容