使用另一个文件中的模式修改文件名

问题描述 投票:0回答:1

我有这些文件名:

demux.16S_For_bc1005--16S_Rev_bc1033.bam 
demux.16S_For_bc1005--16S_Rev_bc1044.bam 
demux.16S_For_bc1005--16S_Rev_bc1045.bam
demux.16S_For_bc1005--16S_Rev_bc1054.bam

我有这个 csv 文件:

16S_For_bc1005;16S_Rev_bc1033;Pa_32_S2_Rp
16S_For_bc1005;16S_Rev_bc1035;Pa_29_S2_Rp
16S_For_bc1005;16S_Rev_bc1044;Pa_15_S2_Rp
16S_For_bc1005;16S_Rev_bc1045;Pa_13_S2_Rp
16S_For_bc1005;16S_Rev_bc1054;Pa_25_S2_Rp
16S_For_bc1005;16S_Rev_bc1056;Pa_12_S2_Rp

我需要将csv文件的模式(第三列)添加到相应的文件名中,以获得:

demux.16S_For_bc1005--16S_Rev_bc1033.Pa_32_S2_Rp.bam 
demux.16S_For_bc1005--16S_Rev_bc1044.Pa_15_S2_Rp.bam 
demux.16S_For_bc1005--16S_Rev_bc1045.Pa_13_S2_Rp.bam
demux.16S_For_bc1005--16S_Rev_bc1054.Pa_25_S2_Rp.bam

诀窍是将好的模式与好的文件名相匹配:它基于 csv 的第一列和第二列。 csv 文件的某些行可能与任何文件名不匹配(例如,因为没有文件名

16S_For_bc1005;16S_Rev_bc1035;Pa_29_S2_Rp
我尝试先处理这个主题

https://unix.stackexchange.com/questions/229858/renaming-files-using-list

最好

bash filenames
1个回答
0
投票

demux.16S_For_bc1005--16S_Rev_bc1035.bam

或者您只是在寻找 bash 解决方案?

© www.soinside.com 2019 - 2024. All rights reserved.