Bash 如何为for循环中的多个输入文件生成多个输出文件

Bash 如何为for循环中的多个输入文件生成多个输出文件,bash,for-loop,output,Bash,For Loop,Output,我是bash的新手,我正在编写一个“for-loop”脚本来运行fastqc软件中的宏基因组序列。我的问题是,在为这些多序列构建输出文件时,理想的做法是使用带有变量的文件,例如每个样本的assembly_“something”(assembly_something 1;assembly_something 2…)。然而,我不能执行这最后一步,我将在下面留下我的脚本,如果有人能告诉我这样做的方法,将不胜感激。谢谢 #!/bin/bash cd Metagenomas set -x for fo

我是bash的新手,我正在编写一个“for-loop”脚本来运行fastqc软件中的宏基因组序列。我的问题是,在为这些多序列构建输出文件时,理想的做法是使用带有变量的文件,例如每个样本的assembly_“something”(assembly_something 1;assembly_something 2…)。然而,我不能执行这最后一步,我将在下面留下我的脚本,如果有人能告诉我这样做的方法,将不胜感激。谢谢

#!/bin/bash
cd Metagenomas

set -x

for forward in *R1_001.fastq; do
    prefix="${forward%R1_001.fastq}"
    reverse="${forward%R1_001.fastq}R2_001.fastq"
    echo "$prefix $forward $reverse 12"
    fastqc -1 $forward -2 $reverse -t 15 -o /home/joaopedro-coelho/assembly_"$prefix"
done

确认您在当前工作目录中拥有您认为拥有的文件。
ls-al*R1\u 001.fastq是否列出了所需的文件?
echo“$prefix$forward$reverse 12”
是否输出您所期望的结果?您的脚本看起来是正确的,但我不能保证
fastqc-1$forward-2$reverse-t15-o/home/joaopedro coelho/assembly_933;“$prefix”
行。否则,您的脚本会在创建了
touch{a,b,c}r1001.fastq
文件的目录中为
echo“$prefix$forward$reverse 12”
生成正确的输出。这是否回答了您的问题?