【发布时间】:2018-10-21 13:30:56
【问题描述】:
我的文件名如下:
fastqs/hgmm_100_S1_L001_R1_001.fastq.gz
fastqs/hgmm_100_S1_L002_R1_001.fastq.gz
fastqs/hgmm_100_S1_L003_R1_001.fastq.gz
fastqs/hgmm_100_S1_L001_R2_001.fastq.gz
fastqs/hgmm_100_S1_L002_R2_001.fastq.gz
fastqs/hgmm_100_S1_L003_R2_001.fastq.gz
并且我想将它们合并到上面显示的组中,从而允许合并 LXXX。
我可以这样做:
cat fastqs/hgmm_100_S1_L00?_R1_001.fastq.gz > data/hgmm_100_S1_R1_001.fastq.gz
cat fastqs/hgmm_100_S1_L00?_R2_001.fastq.gz > data/hgmm_100_S1_R2_001.fastq.gz
但这需要我对每个文件组进行硬编码。如何设置它以便将所有 L 值合并到一个组中并输出与输入文件名相同的文件,只是没有L?
谢谢, 杰克
编辑:
很抱歉没有在原始帖子中包含此内容,但如果我有类似的内容怎么办:
fastqs/hgmm_100_S1_L001_R1_001.fastq.gz
fastqs/hgmm_100_S1_L002_R1_001.fastq.gz
fastqs/hgmm_100_S1_L003_R1_001.fastq.gz
fastqs/hgmm_200_S1_L001_R2_001.fastq.gz
fastqs/hgmm_200_S1_L002_R2_001.fastq.gz
fastqs/hgmm_200_S1_L003_R2_001.fastq.gz
(只有变化才是最开始(100 -> 200))
这将如何工作?本质上,我想合并这些文件,只要名称的所有部分,除了 L ???是相同的。
【问题讨论】:
-
@Socowi 我的错!我会解决这个问题。
-
您必须对 something 进行硬编码,并且不清楚界限是什么。公平地说,您希望外部循环遍历
L和三个数字的唯一序列吗? -
@tripleee 是的,L+3 位在文件名之间允许不同,但文件名的其余部分必须相同才能合并标准。
-
当您寻求代码方面的帮助时,通常会包含您的代码。你试过什么了?你的结果是什么?