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

如何通过curl获取末尾文件名未知的服务器URL文件?

高效定位唯一递增编号的data-xxxx.zip文件

核心思路

既然目标目录里始终只有一个符合data-xxxx.zip格式的文件,同时仅存在一个干扰文件data.ini,完全不需要用正则遍历所有可能编号,只需要通过「前缀+后缀」的简单过滤找到唯一匹配的文件即可,全程只会扫描目录内的少量文件(最多2个),不会产生多余请求。


解决方案(按脚本环境分类)

1. Shell/Bash环境

用find命令精准定位,找到第一个匹配项就立刻停止,避免多余操作:

# 查找当前目录下、前缀为data-、后缀为.zip的普通文件,找到即停止
target_file=$(find . -maxdepth 1 -type f -name "data-*.zip" -print -quit)

如果确定有且仅有一个目标文件,也可以用更简洁的ls过滤:

# 直接列出匹配的zip文件,丢弃错误输出(避免无匹配时的报错)
target_file=$(ls -1 data-*.zip 2>/dev/null)

2. Python脚本环境

遍历目录文件,匹配前缀和后缀后立刻终止循环,效率拉满:

import os

target_file = None
# 遍历当前目录下的所有文件/目录
for filename in os.listdir('.'):
    # 只匹配前缀为data-且后缀为.zip的文件
    if filename.startswith('data-') and filename.endswith('.zip'):
        target_file = filename
        break  # 找到目标后直接跳出循环,无需继续遍历

关于data-*.zip无效的说明

如果直接用通配符无效,大概率是你使用的环境(比如实验室系统的执行环境)不支持shell通配符展开,或者工具本身不识别通配符语法。这时上面的手动过滤/find方法会更可靠。

内容的提问来源于stack exchange,提问作者Zane E.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 11:50:22