wget - 使用参数
wget - work with arguments
我有一个 URI 列表:uri.txt 和
category1/image1.jpeg
category1/image32.jpeg
category2/image1.jpeg
等等,并且需要使用 wget 从域 example.com 下载它们,另外将文件名(保存时最终)更改为 categoryX-imageY.jpeg
我明白了,我应该逐行阅读uri.txt,在每行前加上“http://example.com/”,并将每行中的“/”改为“-”。
我现在拥有的:
- 正在阅读 uri.txt [作品]
- 在每个 URI 前面添加域名 [工作]
- 更改文件名以保存[失败]
我正在尝试使用:
wget 'http://www.example.com/{}' -O '`sed "s/\//-/" {}`' < uri.txt
但 wget 失败(这取决于我使用的是什么类型的引号:` 或 '):
wget: option requires an argument -- 'O'
或
sed `s/\//-/` category1/image1.jpeg: No such file or directory
sed `s/\//-/` category1/image32.jpeg: No such file or directory
你能告诉我我做错了什么吗?
当我想构建一个要执行的args列表时,我喜欢使用xargs:
cat uri.txt | sed "s#\(.*\)/\(.*\)#http://example.com// -O -#" | xargs -I {} wget {}
我会这样做:
while read LINE ; do
wget "http://example.com/$LINE" -O $(echo $LINE|sed 's=/=-=')
done < uri.txt
换句话说,在执行wget
并使用修改后的名称保存之前,逐行读取uri.txt
(文本放在$LINE
bash变量中) (我使用另一个 sed
分隔符,以避免转义 /
并使其更具可读性)
我有一个 URI 列表:uri.txt 和
category1/image1.jpeg
category1/image32.jpeg
category2/image1.jpeg
等等,并且需要使用 wget 从域 example.com 下载它们,另外将文件名(保存时最终)更改为 categoryX-imageY.jpeg
我明白了,我应该逐行阅读uri.txt,在每行前加上“http://example.com/”,并将每行中的“/”改为“-”。
我现在拥有的:
- 正在阅读 uri.txt [作品]
- 在每个 URI 前面添加域名 [工作]
- 更改文件名以保存[失败]
我正在尝试使用:
wget 'http://www.example.com/{}' -O '`sed "s/\//-/" {}`' < uri.txt
但 wget 失败(这取决于我使用的是什么类型的引号:` 或 '):
wget: option requires an argument -- 'O'
或
sed `s/\//-/` category1/image1.jpeg: No such file or directory
sed `s/\//-/` category1/image32.jpeg: No such file or directory
你能告诉我我做错了什么吗?
当我想构建一个要执行的args列表时,我喜欢使用xargs:
cat uri.txt | sed "s#\(.*\)/\(.*\)#http://example.com// -O -#" | xargs -I {} wget {}
我会这样做:
while read LINE ; do
wget "http://example.com/$LINE" -O $(echo $LINE|sed 's=/=-=')
done < uri.txt
换句话说,在执行wget
并使用修改后的名称保存之前,逐行读取uri.txt
(文本放在$LINE
bash变量中) (我使用另一个 sed
分隔符,以避免转义 /
并使其更具可读性)