0

运行wget --save-headers会将响应标头留在下载文件的顶部。但是,使用此参数下载的任何文件似乎都已损坏,即使删除了标头也是如此。

$ wget svnpenn.github.io/img/2012/git.jpg

$ wget --save-headers -O- svnpenn.github.io/img/2012/git.jpg | sed '1,/^$/d' > git2.jpg

$ ls -l
total 136
-rw-r--r--+ 1 Steven None 65755 Jul  4 21:58 git.jpg
-rw-r--r--+ 1 Steven None 65753 Jul  7 11:35 git2.jpg

git2

4

1 回答 1

0

看起来这sed是执行此操作的命令。如果它用十六进制编辑编辑文件,它工作正常。以下命令对我有用。

$ wget --save-headers svnpenn.github.io/img/2012/git.jpg
HTTP request sent, awaiting response... 200 OK
Length: 65755 (64K) [image/jpeg]

$ sed -b '1,/^\r/d' git.jpg > good.jpg

$ ls -l
total 136
-rw-r--r--+ 1 Steven None 66044 Jul  8 18:17 git.jpg
-rw-r--r--+ 1 Steven None 65755 Jul  9 17:53 good.jpg
于 2012-07-07T16:50:40.357 回答