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

如何用一行GNU Parallel命令同时下载并压缩JPEG文件?

一行命令实现下载+即时压缩

当然可以用一行命令搞定,而且比你原来的步骤更高效,还能避免生成中间列表文件的麻烦:

parallel -j 72 'wget {} && gzip "$(basename {})"' < http_list

说明:

  • 直接让parallel读取http_list里的每个URL,不用多余的cat(parallel本身支持从文件读输入)
  • -j 72保持你原来的并发数,同时处理72个任务
  • 每个URL先执行wget {}下载,只有下载成功(&&控制)才会执行后续的gzip压缩
  • $(basename {})用来提取URL对应的文件名,确保压缩的就是刚下载的那个jpeg文件,双引号包裹是为了兼容文件名带空格或特殊字符的情况

另外提一句:你原来用ls -al *.jpeg | awk '{print $NF}'生成文件列表的方式有坑——如果文件名里有空格,awk会把文件名拆成多段,导致后续压缩出错,用上面的方法就完全没这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:44:53