cURL URL通配符批量下载文件自动命名
下载 高速公路年度发展报告2021
curl 'https://book.yunzhan365.com/wkmya/muml/files/mobile/[1-124].jpg' -H 'authority: book.yunzhan365.com' -H 'sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"' -H 'sec-ch-ua-mobile: ?0' -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.106 Safari/537.36' -H 'accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8' -H 'sec-fetch-site: same-origin' -H 'sec-fetch-mode: no-cors' -H 'sec-fetch-dest: image' -H 'referer: https://book.yunzhan365.com/wkmya/muml/mobile/index.html' -H 'accept-language: zh-CN,zh;q=0.9' -H 'cookie: sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217a0e582ca111ac-06e58c91b95692-3c710e58-1430715-17a0e582ca2110a%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2217a0e582ca111ac-06e58c91b95692-3c710e58-1430715-17a0e582ca2110a%22%7D; Hm_lvt_7fafaf8b8dc670c2109d0bbddc8be7e0=1623738298; Qs_lvt_323391=1623738298; Qs_pv_323391=309891294092990200%2C1997975047369361700%2C477389241827979800%2C3537689015888066000%2C4525915336882614300' --compressed -O
curl使用保留符号[]和{}进行通配,它们一般不是合法URL的组成部分(IPv6地址除外),同时可以使用-g或--globoff禁用它。
可以使用[N-M]语法来指定一个数值范围,N为起始,M为结束(包括M):
curl -O http://example.com/[1-100].png
可以使用0作为前缀,如三位数的数字:
curl -O http://example.com/[001-100].png
如果只想请求数字为偶数的图像,可以使用步进(step counter):
curl -O http://example.com/[0-100:2].png
同时也可以处理字母范围:
curl -O http://example.com/section[a-z].html
如果需要采用列表,则需要将其放在花括号中,而不是中括号中:
curl -O http://example.com/{one,two,three,alpha,beta}.html
同时可以混用不同的组合:
curl -O http://example.com/{Ben, Alice, Frank}-{100*100, 1000*1000}.jpg
curl -O http://example.com/chess-[0-7]x[0-7].jpg
如果正在下载多个文件,并希望将它们保存在不同的子目录中,或者以不同的名称保存文件。curl可以采用输出文件名变量。URL中的每个通配都对应一个单独的变量,可以通过'#[num]'来引用,即在‘#’后面跟上与通配符对应的数字,从1(对应第一个通配)开始,到最后一个结束,如:
curl http://{one, two}.example.com -o "file_#1.txt"
curl http://{site, host}.host[1-5].example.com -o "subdir/#1_#2"
linux 合并所有图片到pdf文件
sudo apt install imagemagick
修改/etc/ImageMagick-6/policy.xml文件中
<policy domain="coder" rights="none" pattern="PDF" />
为
<policy domain="coder" rights="read | write" pattern="PDF" />
convert *.jpg -auto-orient pictures.pdf
convert `ls -1v *.jpg` file.pdf