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

如何编写脚本批量循环处理多个ID,提取vcf.gz内容并后台运行

批量从压缩VCF文件中提取指定ID行并后台执行

我有长文本压缩文件(*.vcf.gz),想要从中提取所有包含指定ID(比如id123)的行,并保存到对应名称的新文本文件中。

单个ID的处理命令如下:

zgrep -Hx id123 *.vcf.gz > /home/Roy/id123.txt

但实际有20个ID需要处理,手动重复执行命令过于繁琐,且文件体积大、处理耗时久,希望能批量执行并让任务在后台运行。

可以编写如下脚本遍历ID列表,自动完成批量处理:

# 定义需要处理的ID列表
list=("id123" "id124" "id125" "id126")

# 遍历每个ID执行提取命令,& 让任务后台运行
for i in "${list[@]}"
do
   zgrep -Hx "$i" *.vcf.gz > "/home/Roy/${i}.txt" &
done
# 等待所有后台任务完成后再退出脚本
wait

额外优化说明

  • 给变量$i和输出路径加上双引号,避免ID或路径含特殊字符时出现异常
  • 命令末尾的&让每个提取任务在后台并行执行,大幅缩短总处理时间
  • 脚本末尾的wait确保所有后台任务完成后再结束脚本,方便后续确认处理状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:10:39