如何增加文本文件中的值并生成相应的增量输出文本文件?

How to increment a value in a text file and generate corresponding incremented ouput text files?

我有这些类型的 bash 文本文件:

#!/bin/sh 

#SBATCH --partition=mono-shared
#SBATCH --cpus-per-task=1
#SBATCH --ntasks=1
#SBATCH --time=05:00:00

#SBATCH --mail-user=
#SBATCH --mail-type=ALL
#SBATCH --clusters=

module load rdkit

srun /opt/xxx /home/rand/data/DB_split/DB_0001.txt 0.001 /models/computetd/ /home/rand/DBIS_results/DB_0001

我有 455 个输入文本文件。我想生成 455 个对应的 bash 文件。每个 bash 文件的粗体数字应递增 "srun /opt/xxx /home/rand/data/DB_split/DB_0001.txt 0.001 /models/computetd/ /home/rand/DBIS_results/DB_0001" 并应相应地命名为 Bash0001.txt、Bash002.txt 等。

不确定我是否清楚。 这可能是我应该使用哪个工具? awk 是一个选项吗?我查看了该工具,但无法理解语法。

假设你上面的文件名为Bash0001.txt,你可以使用这个脚本:

for ((i=2; i<=455; i++)); do
   printf -v fn '%04d' $i
   sed "s/DB_0001/DB_${fn}/g" Bash0001.txt > "Bash${fn}.txt" 
done