首页 > 解决方案 > 如何在命令行中选择具有特定模式的文件?

问题描述

我在需要分析的目录中有一些压缩的 fastq 文件。目录中的文件如下:

...
9065_S257_L003_R1_001.fastq.gz
7119_S189_L003_R1_001.fastq.gz  
9012_S223_L003_R1_001.fastq.gz  
9066_S258_L003_R1_001.fastq.gz
...
test.txt
test.html
Undetermined_S0_L003_R1_001.fastq.gz

我想我可以*_L003_R1_001.fastq.gz用来选择 .fastq.gz 文件,但我不想选择Undetermined_S0_L003_R1_001.fastq.gz文件。有没有办法做到这一点?谢谢!

ps 我需要这些文件来做zcat *_L003_R1_001.fastq.gz | ...

标签: linux

解决方案


根据示例,您可以使用 glob 模式:

zcat [0-9][0-9][0-9][0-9]_S[0-9][0-9][0-9]_L003_R1_001.fastq.gz | ...

(从 4 位数字开始,S_然后是另外 3 位数字,然后是通用文件后缀)。

或者可能只是:

zcat [0-9]*_S[0-9]*_L003_R1_001.fastq.gz | ...

基本上,glob 取决于您想要包含的文件的前缀。


推荐阅读