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

如何使用wget从CSV下载指定图片并存储到对应ID目录?

修正后的CSV图片下载Bash脚本

你的脚本存在命令替换错误、变量引用语法错误、wget参数顺序错误等问题,以下是修正后的完整脚本:

#!/usr/bin/bash

while IFS=',' read -r id col2 col3 col4 img1 img2 img3 img4 rest
do
    # 跳过表头(如果CSV有表头的话,需要就保留,不需要就注释掉)
    # if [ "$id" = "id" ]; then continue; fi

    # 目标目录路径
    dest_dir="./$id"

    # 下载每张图片到对应目录,自动保留原文件名
    if [ -n "$img1" ]; then
        wget -P "$dest_dir" "$img1"
    fi
    if [ -n "$img2" ]; then
        wget -P "$dest_dir" "$img2"
    fi
    if [ -n "$img3" ]; then
        wget -P "$dest_dir" "$img3"
    fi
    if [ -n "$img4" ]; then
        wget -P "$dest_dir" "$img4"
    fi
done < file.csv

关键修改说明:

  • 用IFS=',' read -r直接拆分CSV列,避免多次调用cut,更高效且能规避字段含空格的问题
  • 使用wget的-P参数自动将文件保存到指定目录,无需手动拼接路径,同时保留图片原文件名
  • 增加空值判断[ -n "$img1" ],避免对空URL执行下载操作
  • 采用Bash标准的$var变量引用语法,替代原脚本错误的%var%写法
  • 移除了原脚本中无效的EXT变量和错误的字符串拼接逻辑
  • 可选跳过表头行,根据你的CSV是否包含表头自行启用

注意事项:

  • 确保CSV文件中没有包含逗号的字段(如果有,建议使用csvkit这类专业CSV解析工具)
  • 确认所有id对应的目录已提前创建完成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 22:40:44