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

SGE并行任务配置:如何为8个作业生成独立输出文件?

解决SGE并行任务生成独立输出文件的方法

这里提供两种实用方案,帮你给每个并行任务生成唯一的输出文件:

方案1:基于任务ID生成输出名

直接利用SGE自带的SGE_TASK_ID环境变量(每个任务对应1-8的ID)构造输出文件名,简单高效:

#$ -t 1-8
#$ -tc 8

# 读取对应任务的输入文件
task_list=$(sed "${SGE_TASK_ID}q;d" list_of_jobs.txt)

# 生成唯一输出文件名
output_name="output_${SGE_TASK_ID}"

# 调用ldsc.py执行分析
./ldsc.py \
--h2 ${task_list} \
--ref-ld-chr /baselineLD. \
--out ${output_name}

每个任务会生成output_1、output_2……output_8系列输出文件,和任务ID一一对应,完全不会冲突。

方案2:基于输入文件名生成输出名

如果希望输出文件名和输入文件对应(比如输入file1.txt,输出file1),可以提取输入文件的前缀作为输出名:

#$ -t 1-8
#$ -tc 8

# 读取对应任务的输入文件
task_list=$(sed "${SGE_TASK_ID}q;d" list_of_jobs.txt)

# 去掉输入文件名的.txt后缀,作为输出名
output_name=$(basename "${task_list}" .txt)

# 调用ldsc.py执行分析
./ldsc.py \
--h2 ${task_list} \
--ref-ld-chr /baselineLD. \
--out ${output_name}

这种方式生成的输出文件名和输入文件前缀一致,后续查看结果时能直接对应到原始输入,更直观。

额外提示

  • 如果需要给输出名加自定义后缀,比如${output_name}_ldsc_result,直接修改output_name的定义即可
  • 测试时可以手动设置export SGE_TASK_ID=1,然后执行脚本,验证输出是否符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:48:45