创建包含带路径的文件名的列表

创建包含带路径的文件名的列表

我有一个目录(INPUTDIR),其中示例名称为子目录(508_C、540_C、570_D 等)。在每个子目录中,还有另一个名为 FASTQ 的目录,其中包含两种文件。

例如

540_Ct_1.fastq.gz
540_Ct_2.fastq.gz

我想创建两个列表,第一个列表包含所有带路径的 _1.fastq.gz 文件名,另一个列表包含带路径的 _2.fastq.gz 文件名。

目录结构是

INPUT DIR > 508_C >FASTQ > 508_1.fastq.gz 508_2.fastq.gz
INPUT DIR > 540_C >FASTQ > 540_Ct_1.fastq.gz 540_Ct_2.fastq.gz
INPUT DIR > 570_D >FASTQ >570_Ct_1.fastq.gz 570_Ct_2.fastq.gz

INPUTDIR 是主目录。我想在此目录中创建两个列表。一份清单有:

/home/user/INPUT DIR > 508_C >FASTQ > 508_1.fastq.gz 
/home/user/INPUT DIR > 540_C >FASTQ > 540_Ct_1.fastq.gz 
/home/user/INPUT DIR > 570_D >FASTQ > 570_Ct_1.fastq.gz 

第二个列表有:

/home/user/INPUT DIR > 508_C >FASTQ >508_2.fastq.gz
/home/user/INPUT DIR > 540_C >FASTQ > 540_Ct_2.fastq.gz
/home/user/INPUT DIR > 570_D >FASTQ >  570_Ct_2.fastq.gz

谢谢,

罗恩

答案1

cd INPUTDIR
find . -name \*1.fastq.gz > list1
find . -name \*2.fastq.gz > list2

“列表”文件中的路径将相对于当前目录。如果您想要绝对路径,请使用

find "$PWD" -name \*1.fastq.gz > list1

相关内容