2013-01-13 55 views
0

我的英语很差!:)为什么通过执行“卷曲-r”

我想下载一个文件2G与curl -r部分输出文件多于一个字节。

curl -r 0-1234567  -o file.part1 http://xxx 
curl -r 1234567-2469134 -o file.part2 http://xxx 

然后我得到:

file.part1 : 1234567 bytes 
file.part2 : 1234568 bytes 

file.part2不止一个字节,所以我尝试截断的第一个字节:

tail +2c file.part2 > file.part2.truncated 

则:

cat file.part1 file.part2.truncated > myfile 

myfile是我想要的。

+0

发生了什么?你为什么截断file2?你不需要整个文件? –

+0

@苏迪帕查特吉。我犯了一个错误,它通过截断它,所以我做到了。 – noodles

回答

3

字节范围都包括在内,所以它应该是:

curl -r 0-1234567  -o file.part1 http://xxx 
curl -r 1234568-2469134 -o file.part2 http://xxx 
cat file.part1 file.part2 > myfile 
1

--range标志curl包括整个范围,所以你两次获得“1234567'th字节。

此外,因为它是基于0的索引,范围的末尾应该小于1.也就是说,它们应该是1234566和2469133,因为范围0-1234566是1234567数字,因此是1234567-2469133。

curl -r 0-1234566  -o file.part1 http://xxx 
curl -r 1234567-2469133 -o file.part2 http://xxx 
cat file.part1 file.part2 > myfile