Dd

dd 命令獲取特定範圍的數據

  • March 16, 2022

dd命令中,我們可以使用skip跳過文件中的 n 個字節。從第 n 個字節到文件末尾被複製。但我只想將二進制數據從 1228 複製到 1331。如何dd在 Linux 上實現這一點?

使用count指定要複製的字節數。使用外殼進行計算。用於ibs=1將輸入塊大小設置為 1,因此skipcount以字節為單位指定。

dd ibs=1 skip=1228 count=$((1331-1228+1))

由於 1228 和 1331-1228+1 都是 4 的倍數,因此可以將輸入塊大小設置為 4,這將提高效率,但除非這將被大量使用,否則優化將失去在噪音中。其他事情,比如預先計算結果1331-1228+1應該首先完成。

dd ibs=4 skip=$((1228/4)) count=$(((1331-1228+1)/4))

引用自:https://unix.stackexchange.com/questions/543614