首页 > 系统相关 >【20240709】海量图片导出需求,shell脚本

【20240709】海量图片导出需求,shell脚本

时间:2024-07-09 14:32:52浏览次数:18  
标签:shell bar 海量 20240709 current AiImgs length path line

 

[root@localhost images]# cat junshuv3.sh 
#!/bin/bash

# 确保脚本在 ~/images 目录下运行
if [ "$(pwd)" != "$HOME/images" ]; then
    cd ~/images
fi

# 创建目标目录 junshu,如果不存在则创建
mkdir -p junshu

# 获取CSV文件中的总行数,用于进度条
total_lines=$(wc -l < AiImgs-5Rope.csv)
current_line=0
bar_length=100

# 逐行读取 AiImgs-5Rope.csv 文件
while IFS=',' read -r id image_path
do
    # 去除路径末尾的回车符
    image_path=$(echo $image_path | tr -d '\r')

    # 确定原图片路径
    src_path="$image_path"

    # 复制图片到目标目录 junshu,并保留原文件名
    if [ -f "$src_path" ]; then
        cp "$src_path" "junshu/$(basename "$src_path")"
    else
        echo "File $src_path does not exist."
    fi

    # 更新进度
    current_line=$((current_line + 1))
    progress=$((current_line * 100 / total_lines))
    filled_length=$((bar_length * current_line / total_lines))
    bar=$(printf "%-${bar_length}s" "#" | sed "s/ /#/g")
    empty_bar=$(printf "%-${bar_length}s" " ")

    echo -ne "Progress: [${bar:0:filled_length}${empty_bar:filled_length}] $progress% ($current_line/$total_lines)\r"
done < AiImgs-5Rope.csv

# 完成后换行
echo -ne '\n'

# 压缩目标目录为 AiImgs-5rope.zip
zip -r AiImgs-5rope.zip junshu

 

标签:shell,bar,海量,20240709,current,AiImgs,length,path,line
From: https://www.cnblogs.com/huojunshu/p/18291723

相关文章

  • shell(2)
    shell(2)简答题1、编写一个shell脚本,从键盘读入一个成绩,并按优秀、良好、中等、及格、不及格输出成绩。我的答案:#/bin/bashread-p"请输入学生成绩(0-100):"scoreif[$sum-gt100];thenecho"输入有误,成绩大于100"elif[$sum-ge90];thenecho"优"elif......
  • Shell处理JSON命令行-jq
    jq是一个命令行工具,专门用来处理和转换JSON数据。官网:https://github.com/jqlang/jq安装aptinstalljq基本用法JSON示例文件file.json[{"name":"Alice","age":30},{"name":"Bob","age":35}]#格式化输出jq'.'......
  • 【Shell】sed xargs grep awk的组合用法
    一、批量删除指定字符串"slave-xxx":grep-inr"slave-xxx"|awk-F':''{print$1}'|xargs-n1-I{}sed-i'/slave-xxx/d'{}二、批量替换指定字符串"slave-xxx":grep-inr"slave-abc"|awk-F':'......
  • Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时
    章节内容上一节我们完成了:HiveServer2的介绍和配置安装修改core-sizehdfs-site实现集群的启动Beeline简单上手HCatalog简单上手背景介绍这里是三台公网云服务器,每台2C4G,搭建一个Hadoop的学习环境,供我学习。之前已经在VM虚拟机上搭建过一次,但是没留下笔记,这次......
  • 【免杀】图片隐写shellcode
    写入shellcode(C#):usingSystem;usingSystem.IO;classProgram{privatestaticboolIsBmpFile(stringfilePath){try{using(FileStreamstream=newFileStream(filePath,FileMode.Open,FileAccess.Read))u......
  • 海外短剧系统CPS平台源码搭建 ,海量正版短剧推广分佣
    海外短剧cps推广分佣系统,短剧平台的分销推广功能,这个功能它到底有啥优点呢?做海外短剧怕不懂海外市场、怕海外做不出流量、怕入不敷出,海外运营推广困难等等。综合上述问题总结出了一点,就是流量问题,海外短剧推广都会用tiktok、facebook、Twitter、去推广,这个无可厚非,目前海外短......
  • Shell编程之条件判断语句
    Shell编程之条件判断语句一、条件判断Shell环境根据命令执行后的返回状态值(echo$?)来判断是否执行成功,当返回值为0表示成功或正确,返回值为非0值表示失败或异常。(补充:Linux判断依据在别的编程语言中是反过来的,如java假为0,真为1)1、test命令有两种方式test条件表达式[条件表......
  • Shell编程之条件判断语句
    Shell编程之条件判断语句一、条件判断Shell环境根据命令执行后的返回状态值(echo$?)来判断是否执行成功,当返回值为0表示成功或正确,返回值为非0值表示失败或异常。(补充:Linux判断依据在别的编程语言中是反过来的,如java假为0,真为1)1、test命令有两种方式test条件表达式[条件表......
  • Shell - $0、$1、$2、$?、$!、$$、$*、$#、$@的含义
    $0、$1、$2的含义?在Shell中,$1代表传递给Shell脚本或函数的第一个命令行参数。这些参数也被称为位置参数。例如,如果你运行一个脚本并传递了两个参数,如./script.shfilename1dir1那么$0将是脚本名称本身(在这个例子中是‘......
  • Shell - 2>&1 是什么意思
    2>&1的具体含义是什么?问:为了将stderr和stdout合并成stdout流,我们将它附加到命令中:2>&1例如,要查看编译g++main.cpp的前几个错误:g++main.cpp2>&1|head2>&1的具体含义是什么?答:文件描述符1是标准输出(stdout)。文件描述符2是标准错......