ich benutze bash. Ich habe alles versucht, was ich konnte. Es funktioniert immer in Regexr. Es funktioniert für andere Dateien. Für eine Datei funktioniert es einfach nicht, egal was passiert. Ich kann ?
nicht verwenden, um einen Quantifizierer faul zu machen. Ich kann die dbsnp-Datei nicht isolieren. Bitte hilf mir!Wie man nicht-gierige Übereinstimmung in Ausdruck
vcfs=$(find . -type f -name "*\.vcf" -printf "%f\n")
echo "$vcfs"
>1000G_omni2.5.b37.vcf
>1000G_phase1.indels.b37.vcf
>1000G_phase1.snps.high_confidence.b37.vcf
>dbsnp_138.b37.vcf
>hapmap_3.3.b37.vcf
>Mills_and_1000G_gold_standard.indels.b37.vcf
thousandG=`expr "$vcfs" : '.*\(1000G_phase1.indels[^\n]*\.vcf\)'`
echo $thousand
>1000G_phase1.indels.b37.vcf
GoldStandard=`expr "$vcfs" : '.*\(Mills_and_1000G_gold_standard.indels[^\n]*\.vcf\)'`
echo $GoldStandard
>Mills_and_1000G_gold_standard.indels.b37.vcf
dbsnp=`expr "$vcfs" : '.*\(dbsnp_[1-9][3-9][3-9][^\n]*\.vcf\)'`
echo $dbsnp
>dbsnp_138.b37.vcf
>hapmap_3.3.b37.vcf
dbsnp=`expr "$vcfs" : '.*\(dbsnp_[1-9][3-9][3-9][^\n]*?\.vcf\)'`
echo $dbsnp
>
dbsnp=`expr "$vcfs" : '.*\(dbsnp_[1-9][3-9][3-9].*?\.vcf\)'`
echo $dbsnp
>
echo `expr "$vcfs" : '.*\(hapmap_[\n]*\.vcf\)'`
>hapmap_3.3.b37.vcf
ich Ihre 'dbSNP run = \ 'expr "$ vcfs":'. * \ (dbsnp_ [1-9] [3-9] [3-9] [^ \ n] * \. vcf \) '\ "' auf meinem Redhat-Rechner und Die Ausgabe ist 'dbsnp_138.b37.vcf', was richtig ist! Also welches Betriebssystem benutzt du? – Quinn
Ich denke, ich benutze CentOS, aber ich bin mir nicht sicher. Die Spezifikationen sagen nur Linux. – eugheugh
'cat/etc/centos-release' – Quinn