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

如何匹配文件名第二部分指定日期变量循环打包对应CSV文件

问题根因

你修改后的代码失效的核心原因是:仅在筛选前缀的环节过滤了包含$DATE_EXPORT的文件,但执行zip打包时的匹配规则仍为"$prefix"_*.csv,会把对应前缀下所有日期的csv文件都打包进压缩包,没有实现只打包指定日期文件的需求。

可行解决方案

以下是修正后的可运行代码:

printf '%s\n' *_*.csv | grep "^[^_]*_${DATE_EXPORT}_" | cut -d_ -f1 | uniq |
while read -r prefix
do
  zip "$ZIP_PATH/${prefix}_${DATE_EXPORT}_M2.zip" "${prefix}_${DATE_EXPORT}"_*.csv
done

优化说明

  • 调整了grep匹配规则,仅匹配**第二部分等于$DATE_EXPORT**的文件,避免日期出现在文件名其他位置导致的误匹配
  • 修正了zip阶段的文件匹配规则,明确限定为${prefix}_${DATE_EXPORT}_*.csv,只会打包对应前缀、对应日期的文件
  • 所有变量都用双引号包裹,避免路径、变量含空格时出现执行异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:09:03