2017-03-23 6 views
0

Ich habe Hunderte Dateien müssen für eine Analyse mit einem Bash-Skript durchlaufen. Ein Schritt, den ich tun muss, ist, einen langen String zu teilen und ihn als einen Ausgabenamen zu katalysieren. Zum Beispiel nehme ich an einer Schnur so haben wie:Bash String Split und verketten

5018.a.Radiation_Induced_Lymphoma.Tumor__p53+_-.SL200300_SL200300.exome_1tier.mm10.kapa_re_cap_v6_3utr.final.bam 

Was wollte ich es als zwei Ausgabedateinamen umbenennen wie:

5018.a.Radiation_Induced_Lymphoma.Tumor__p53+_-.SL200300_SL200300.exome_1tier.mm10.kapa_re_cap_v6_3utr.final_R1.fastq 
5018.a.Radiation_Induced_Lymphoma.Tumor__p53+_-.SL200300_SL200300.exome_1tier.mm10.kapa_re_cap_v6_3utr.final_R2.fastq 

Die einzigen Änderungen .bam vom Original entfernen möchten und cat_R1.fastq und _R2_fastq. Kann jemand es mit Bash-Befehlen realisieren?

Antwort

1
somefile=blahblahblah.final.bam 
foo "$somefile" "${somefile%.*}_R1.fastq" "${somefile%.*}_R2.fastq"