I am running a genetic algorithm for multiple seed values and for each run I want to put the seed value in the name of the output file. I have been able to do that using the following Bash script.
1 #!/bin/bash
2 # Multi-seed script
3
4 seed=0.01
5 for count in {1..100..1}
6 do echo "$seed"
7 ./nsga2r $seed < input_data/truss.in
8 $(mv all_pop.out all_pop_seed"$count".out)
9 seed=$(echo "$seed+0.01" | bc)
10 done
The script if very straight forward. Line-5 runs the loop for 100 seed
values. Line-7 runs the program nsga2r
for current seed value taking input values from file input_data/truss.in
. Line-8 adds the current seed value to the name of the output file of current seed
value. This yields the output as :
all_pop_seed1.out
all_pop_seed2.out
all_pop_seed3.out
...
all_pop_seed10.out
all_pop_seed11.out
...
all_pop_seed99.out
all_pop_seed100.out
BUT how do I name them like the following instead?
all_pop_seed001.out
all_pop_seed002.out
all_pop_seed003.out
...
all_pop_seed010.out
all_pop_seed011.out
...
all_pop_seed099.out
all_pop_seed100.out
Although this minor difference from my desired output filenames does not hinder my further analysis, still I would like to know.