Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗?添加细节并通过editing this post澄清问题。
我得到了一个包含符合以下两种模式的文件名的列表:
一个是xxx_01.fastq
另一个是xxx_01_001.fastq
我将编写一个for循环(在bash中)来循环具有不同模式的所有文件名,我需要确定哪些文件名与上面的模式匹配。有什么帮助吗?

最佳答案

list.txt的内容:

$ cat list.txt
AAA_01.fastq
AA_01_001.fastq
BBB_01_002.fastq
BBB_02.fastq

使用bash模式匹配的示例:
for file in `cat list.txt`; do
  if [[ $file =~ [A-Z]{3}_[0-9]{2}\.fastq || $file =~ [A-Z]{3}_[0-9]{2}_[0-9]{3}\.fastq ]]; then
    echo "MATCH $file";
  fi;
done

输出:
MATCH: AAA_01.fastq
MATCH: BBB_01_002.fastq
MATCH: BBB_02.fastq

10-08 07:16