如何将 sbatch 数组作业输出文件名恢复为其原始名称

如何将 sbatch 数组作业输出文件名恢复为其原始名称

为了使用 Slurm 提交数组作业,我使用以下命令用增量编号重命名了数百个文件:

COUNT=1
for file in ./*; do
    mv "$file" "${COUNT}"
    let COUNT++
done

原始文件名包含字母、数字和特殊字符的混合。

  1. 如何将输出文件的名称(增量数字)恢复为其原始文件名(字母、数字和特殊字符的混合)?它们的第一列中有匹配的 ID。并且不应该存在匹配错误文件的问题,因为 ID 在原始文件中是唯一的。

原始文件示例

    $ cat NA0457:3411.txt
    ABC1234 789326-26-1
    DEF4321 84201-058-0
    GHI1234 3789167469-

输入文件示例(重命名为 1)

    $ cat INPUT_DIR/1
    ABC1234 789326-26-1
    DEF4321 84201-058-0
    GHI1234 3789167469-

输出文件示例

    $ cat OUTPUT_DIR/1
    DEF4321 842010580
    DEF4321 --------- 
    GHI1234 3789167469
    GHI1234 ----------
    ABC1234 789326261
    ABC1234 ---------

所需输出文件的示例(重命名为 NA0457:3411.out)

    $ cat OUTPUT_DIR/NA0457:3411.out
    DEF4321 842010580
    DEF4321 --------- 
    GHI1234 3789167469
    GHI1234 ----------
    ABC1234 789326261
    ABC1234 ---------
  1. 另外,我不明白使用上面的命令重命名的基础,因为文件没有根据原始文件名的顺序按数字重命名。

相关内容