如何使用Shell创建具有不同名称的输出文件?

Abh*_*til 1 linux bash slurm

我有一个R脚本(abc.R):

#!/usr/bin/env Rscript

print("HELLO")
Run Code Online (Sandbox Code Playgroud)

还有一个包含R脚本(example.sh)的批处理脚本:

#!/bin/bash
module load Rstats
module load RstatsPackages


Rscript /home1/R_scripts/abc.R   > "result.txt"
Run Code Online (Sandbox Code Playgroud)

还有另一个批处理脚本(multiple.sh),它调用上述脚本:

#!/bin/sh

for((i=1;i<=10;i++))
do

     sbatch -p normal -t 4:00:00 -N 1 -n 4 example.sh $i

done

sh multiple.sh
Run Code Online (Sandbox Code Playgroud)

该脚本调用上述脚本十次,因此我的Rscript将运行十次。它运行10次,但仅生成一个result.txt。不过,我想多个结果文件,如result1.txt,result2.txt,result3.txt等等。

vma*_*oli 5

由于迭代编号($i)作为参数传递给example.shfrom multiple.sh,因此可以将其用于每次迭代创建文件。为此,将的最后一行更改example.sh为:

Rscript /home1/R_scripts/abc.R   > "result${1}.txt"
Run Code Online (Sandbox Code Playgroud)