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

如何将指定前缀文件打包为单个Zip并移动至目标目录(修正脚本问题)

问题与解决方案

问题背景

在/tmp/movies目录下有以下文件:

  • GOT1.mp4
  • GOT2.mp4
  • BREAKINGBD1.mp4

需要实现:

  • 将所有含GOT的文件打包为单个GOT.zip
  • 把这个压缩包移动到/tmp/movies/GameOT目录
  • 原目录仅保留BREAKINGBD1.mp4

现有脚本会生成多个独立Zip文件,且未处理原文件,脚本如下:

LIST_OF_FILES=*GOT*
TARGET_DIRECTORY=/tmp 
for filename in $LIST_OF_FILES; do 
    zip_filename=$filename.zip 
    zip $zip_filename $filename 
    mv $zip_filename $TARGET_DIRECTORY 
done 

修改后的脚本

# 定义目标目录路径
TARGET_DIR="/tmp/movies/GameOT"

# 确保目标目录存在,不存在则创建
mkdir -p "$TARGET_DIR"

# 一次性将所有含GOT的文件打包到目标目录的GOT.zip中
zip "$TARGET_DIR/GOT.zip" *GOT*

# 删除原目录下所有含GOT的文件
rm -f *GOT*

关键说明

  • mkdir -p "$TARGET_DIR":-p参数保证即使GameOT的父目录不存在也能创建,避免因目录不存在导致后续操作失败
  • zip "$TARGET_DIR/GOT.zip" *GOT*:直接指定压缩包输出路径,同时批量添加所有匹配*GOT*的文件,生成单个压缩包,替代原脚本循环生成多个压缩包的逻辑
  • rm -f *GOT*:强制删除原目录下所有含GOT的文件,确保仅保留BREAKINGBD1.mp4

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:31:34