【发布时间】:2024-01-06 14:22:01
【问题描述】:
我想得到一个二进制文件的一部分,从字节#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
怎么了?
【问题讨论】:
-
如果你做一个
wc -c trunk1.gz,你会得到什么? -
3400324 trunk1.gz
-
这意味着您的剪辑没有按照您的想法进行。我尝试了
cut -b和一些我也拥有的.gz文件。我的文件大小也比指定的 bbytes 大。在普通文件中,这可以通过文件中有列的事实来解释。所以命令cut -b从每一行中挑选出相应的字节。因此文件大小很大。即cut -b可能不是您在这里需要的。
标签: linux bash gnu-coreutils