我需要找出如何将文件 1 复制到文件 2(最后一个字节除外)。我一直在寻找并使用 dd 命令,但 skip 选项仅允许在输入文件的开头跳过。
谢谢
答案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
源自于Quora 上的“如何在 Bash 中截掉文件的最后一个字节?”:
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
正如其他答案所述,这是一个更简单的解决方案。