我想获取二进制文件的一部分,从字节#480161397到#480170447(包括,总共9051字节)

我使用cut -b,我期望trunk1.gz的大小为9051字节,但是得到了不同的结果。

$ wget https://commoncrawl.s3.amazonaws.com/crawl-data/CC-MAIN-2016-07/segments/1454701152097.59/warc/CC-MAIN-20160205193912-00264-ip-10-236-182-209.ec2.internal.warc.gz

$ cut -b480161397-480170447 CC-MAIN-20160205193912-00264-ip-10-236-182-209.ec2.internal.warc.gz >trunk1.gz

$ echo $((480170447-480161397+1))
9051

$ ls -l trunk1.gz
-rw-r--r--  1 david  staff     3400324 Sep  8 10:28 trunk1.gz

怎么了?

最佳答案

如果您使用二进制文件,建议您使用dd命令。

dd if=trunk1.gz bs=1 skip=480161397 count=9051 of=output.bin
bs是块大小,设置为1个字节。

关于linux - 使用gnu-coreutils,bash获取二进制文件的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39386321/

10-12 22:10