我正在使用bash脚本运行以下内容
for i in {1..50};
do
wget --content-disposition `http://example.com/getfile.php?id={$i}`
done
然后我可以获取文件
abc.mp3
abc.jpg
abc.png
...
但是我想将id扩展到
之类的文件1-abc.mp3
2-abc.jpg
3-abc.png
...
我可以使用wget -o
将文件重命名为{$i}-{$orignalName.orignalExtention}
答案 0 :(得分:0)
首先,您应该使用onGotAllSlices(docDataSlices)
HTTP调用来检索HEAD
,例如:
originalName
个带有-S --spider --content-disposition
的选项wget
个带有-I -L
的选项例如:
cURL
然后只需使用-O选项,并使用刚刚拥有的originalFileName=$( wget --content-disposition -S --spider "http://example.com/getfile.php?id={$i}" |& grep "Content-Disposition" |sed -e 's/^.*filename=//' )
和您已经拥有的originalName
来构建本地文件名。
使用您的脚本,它将给出:
i
答案 1 :(得分:-1)
wget
在-O
(大写字母O,BTW)选项中不支持模板/样式。因此,您可以执行一些技巧,例如先将文件放入临时目录,然后使用shell重命名。像这样:
for i in {1..50};
do
mkdir $i && cd $i && \
wget --content-disposition `http://example.com/getfile.php?id={$i}` && \
for fn in *; do mv "$fn" "../$i-$fn" && cd .. && rmdir $i; done
done
注意:未经测试。