我使用正則表達式下面我腳本讀取類型_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