Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中循环使用公共名称的成对文件_Bash - Fatal编程技术网

在bash中循环使用公共名称的成对文件

在bash中循环使用公共名称的成对文件,bash,Bash,我有一个文件夹,其中有18对同名文件,除了一个有R1,另一个有R2,例如SM000907\u S1\u R1.fastq和SM000907\u S1\u R2.fastq。 我想在所有这些对的循环中抛出一个命令 我尝试了以下循环,但它不起作用(它抛出错误“错误替换”): 您可以使用$(seq 1 18)或{1..18},但不能同时使用两者 此外,由于无意中使用了不同的变量名,因此命令行无法工作。用大括号把他们围起来 最后,作为一种良好做法,请引用包含变量的所有字符串: for sample in

我有一个文件夹,其中有18对同名文件,除了一个有R1,另一个有R2,例如
SM000907\u S1\u R1.fastq
SM000907\u S1\u R2.fastq
。 我想在所有这些对的循环中抛出一个命令

我尝试了以下循环,但它不起作用(它抛出错误“错误替换”):

您可以使用
$(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
for sample in {1..18}; do
    merge-paired-reads.sh "SM000907_S${sample}_R1.fastq" "SM000907_S${sample}_R2.fastq" > output
done