我有一个非常基本的问题,但我无法得到解决方案。我在同一目录中有多个文件,我想连接每对文件。名称是:
Sample1_R1_L001.fastq Sample1_R2_L001.fastq Sample2_R1_L001.fastq Sample2_R2_L001.fastq Sample3_R1_L001.fastq Sample3_R2_L001.fastq
(等...)
我想要的结果是通过样本连接,例如 cat Sample1_R1_L001.fastq Sample1_R2_L001.fastq> Sample1_concat.fastq
我试过这个循环, 找 。 -name“ _R?_ ”|读取文件时;做“$ file” R1 * .fastq“$ file”_R2_L001.fastq> “$文件” _merged.fastq
但它不起作用。有什么想法吗?
答案 0 :(得分:0)
我是这样做的:
for i in {1..4}; do echo cat Sample"$i"* > combined_"$i".txt; done
循环编号然后构建命令...获取实际文件名肯定是可能的,但是使用shell,我只做最简单的事情,即使这意味着部分暴力强制循环。
将1..4替换为任何限制,shell会将其扩展为所有不同的数字。
答案 1 :(得分:0)
for i in {1..3};
do for j in 1 2;
do cat 6692_S${i}_S${i}_*_R${j}_001.fastq.gz > 6692_S${i}_R${j}_concatenate.fastq.gz;
done;
done
#我的样品名称例如6692_S1_S1_L001_R1_001.fastq.gz; 6692_S1_S1_L002_R1_001.fastq.gz
我认为您可以根据自己的需要进行调整。