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

时间:2015-05-17 09:07:20

标签: bash text awk increment

我有这些类型的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_ < strong> 0001 “并且应该相应地命名为Bash0001.txt,Bash002.txt等。

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

1 个答案:

答案 0 :(得分:1)

假设您的上述文件名为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