根据文件名称分隔文件

根据文件名称分隔文件

我有一个包含很多文件的文件夹,例如 3 个 lac plus 文件。我必须根据它们的名称将它们分开放在三个不同的文件夹中。例如,一些名字是:

7msf_stem_0_mcannotate.pdb
7msf_loop_3_mcannotate.pdb
6tna_strand_10_mcannotate.pdb
7msf_strand_4_mcannotate.pdb

我必须将名称中包含“stem”的所有文件保存在一个名为“stem”的文件夹中,将名称中包含“loop”的文件保存在另一个名为“stem”的文件夹中loops,而将那些名称中包含“strand”的文件保存在名为“stem”的文件夹中strands

有没有 shell 脚本可以做到这一点?

答案1

尝试

 mkdir ../loops ../stems ../strands
 for x in loop stem strand
 do
    mv *${x}* ../${x}s
 done

请注意,目录将位于父文件夹中。

相关内容