You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整终端命令从JSON文件下载指定文件夹内的PNG链接

解决方案

没问题,我来帮你调整这个终端命令,让它只抓取指定子目录下的PNG文件,分两种场景给你适配:

1. 匹配单一指定子目录

比如你只想下载路径中包含/display/的PNG文件,只需要修改egrep的正则表达式,加入目标目录的匹配规则即可:

egrep -o 'https:[^"]*/display/[^"]*png' file-name.json | xargs -n 1 curl -O

原理说明

原来的正则https:[^"]*png会匹配所有以https:开头、以png结尾且中间不含双引号的字符串。我们加入/display/后,就要求URL的路径中必须包含这个完整的目录片段,这样就自动过滤掉了其他子目录下的链接。

2. 匹配多个指定子目录

如果需要同时抓取/display/、/display-side/和/thumb/这些目录下的PNG,可以用正则的分支匹配(|表示“或”):

egrep -o 'https:[^"]*/(display|display-side|thumb)/[^"]*png' file-name.json | xargs -n 1 curl -O

原理说明

这里(display|display-side|thumb)会匹配括号内任意一个目录名,只要URL路径中包含其中一个目录的完整片段,就会被提取出来。

额外注意事项

  • 如果你的目标目录名里包含正则特殊字符(比如+、*),需要在字符前加反斜杠\进行转义,比如目录是display+thumb的话,要写成display\+thumb
  • 使用curl -O时,如果不同子目录下存在同名PNG文件,后下载的文件会覆盖之前的。如果想保留原目录结构或者避免覆盖,可以改用wget -P ./downloads/(会自动创建对应目录),或者升级curl到较新版本后使用curl -OJ(按远程文件的原始文件名保存,避免冲突)

内容的提问来源于stack exchange,提问作者chapmanio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:11:19