Script Bash para leer múltiples archivos

Script Bash para leer múltiples archivos

Tengo varios scripts de R para leer (hasta 3, es decir, tr1.R, tr2.R, tr3.R).
El script bash para leer un solo script se proporciona a continuación

#!/bin/bash
#PBS -l nodes=1:ppn=10,walltime=00:05:00
#PBS -M 
#PBS -m e
module load R/4.0
Rscript ~/tr1.R

Intenté lo siguiente según lo sugerido por@cas

#!/bin/bash
#PBS -l nodes=1:ppn=10,walltime=00:05:00
#PBS -M 
#PBS -m e
module load R/4.0
**Rscript ~/tr"$i".R**

Además, el trabajo se envía utilizando

for i in {1..3} ; do
  qsub -o "default.$i.out" -e "errorfile$i" -v i script.sh
done

esto no se pudo leerRscript ~/tr"$i".R.

Respuesta1

Esto es rápido y sucio:

#!/bin/bash

echo -e "Printing script.......\n"

y=0
for (( y=0; y <= 9; y++ ))
do
   echo "file tr$y.R contents: "
   cat tr$y.R
   echo ""   
done

Respuesta2

¿Qué tal resolver eso en R así?

combinado.R:

source (tr1.R)
source (tr2.R)
source (tr3.R)

o así.

combinado.R:

for (i in c(1:9)) {
    filename <- paste ("tr", i, ".R", sep="")
    if (file.exists (filename)) {
        source (filename)
    }
}

Y luego puedes cargar combined.R:

#!/bin/bash
#PBS -l nodes=1:ppn=10,walltime=00:05:00
#PBS -M 
#PBS -m e
module load R/4.0
Rscript ~/combined.R

Oh, ahora veo que quieres ejecutar trabajos en paralelo. La solución que publiqué no ejecuta trabajos en paralelo, pero dejaré la respuesta aquí. Quizás alguien lo encuentre útil. Quizás puedas aplicar algo como esto.https://www.blasbenito.com/post/02_parallelizing_loops_with_r/o estohttps://stackoverflow.com/questions/38318139/run-a-for-loop-in-parallel-in-r.

información relacionada