我有一个文件夹,其中包含18对具有相同名称的文件,但其中一个具有R1,另一个具有R2,例如SM000907_S1_R1.fastq
和SM000907_S1_R2.fastq
。
我想在所有这些对中的循环中添加命令。
我已经尝试了以下循环,但是没有用(抛出错误“错误替换”):
for sample in ${seq 1 18}; do
merge-paired-reads.sh SM000907_S$sample_R1.fastq SM000907_S$sample_R2.fastq > output
done
答案 0 :(得分:3)
您可以使用$(seq 1 18)
或{1..18}
,但不能同时使用两者。
此外,您的命令行不起作用,因为您无意中使用了不同的变量名。用大括号包围它们。
最后,作为一种好习惯,引用所有包含变量的字符串:
for sample in {1..18}; do
merge-paired-reads.sh "SM000907_S${sample}_R1.fastq" "SM000907_S${sample}_R2.fastq" > output
done