我使用正则表达式下面我脚本读取类型_L001_R1_001.fastq或结尾的文件_L001_R2_001.fastq正则表达式查找文件扩展名
如果是R1应该读入readPair_1如果R2应该读到readPair_2,但它不匹配任何东西。
任何人都可以告诉我这里有什么问题吗?
我的脚本:
#! /bin/bash -l
Proj_Dir="${se_ProjDir}/*.fastq"
for Dir in $Proj_Dir
do
if [[ "$Dir" =~ _L.*_R1_001.fastq]]
then
readPair_1=$Dir
echo $readPair_1
fi
if [[ "$Dir" =~ _L.*_R2_001.fastq]]
then
readPair_2=$Dir
echo $readPair_2
fi
文件:
Next-ID-1-MN-SM5144-170509-ABC_S1_L001_R1_001.fastq
Next-ID-1-MN-SM5144-170509-ABC_S1_L001_R2_001.fastq
Next-ID-1-MN-SM5144-170509-ABC_S2_L001_R1_001.fastq
Next-ID-1-MN-SM5144-170509-ABC_S2_L001_R2_001.fastq
Next-ID-1-MN-SM5144-170509-ABC_S3_L001_R1_001.fastq
Next-ID-1-MN-SM5144-170509-ABC_S3_L001_R2_001.fastq
尝试'_L [^ _] * _ R [0-9] + _ 001 \ .fastq \ .gz'。最后一个'$'也可能有用于仅在输入结束时匹配。 –
当你说它不起作用时,这是什么意思?它只匹配你想要的一些字符串,还是不匹配任何东西?您的正则表达式由于未转义的'.'s而不准确,但它看起来应该仍然匹配R1_001文件。 – CAustin
感谢您的评论。否它不匹配任何东西。 – nadish