Bash 将列表中的特定文件组合连接到子目录中

Bash 将列表中的特定文件组合连接到子目录中,bash,cat,Bash,Cat,我想将大量特定的文件组合从10个文件的列表中分类到相应的子目录中。我有一个包含126个子目录的主目录,这些子目录被称为 CrHfMoNbN,CrHfMoTaN,CrHfMoTiN,TiVWZrN 依此类推,基本上是以下列表中按字母顺序排序的每个组合的一个子目录,并附加“N”: CrHfMoNb CRHFMOT CRHFMOT CrHfMoV CrHfMoW CrHfMoZr CrHfNbTa CrHfNbTi CrHfNbV CrHfNbW CrHfNbZr CrHfTaW CrHfTaW Cr

我想将大量特定的文件组合从10个文件的列表中分类到相应的子目录中。我有一个包含126个子目录的主目录,这些子目录被称为

CrHfMoNbN,CrHfMoTaN,CrHfMoTiN,TiVWZrN

依此类推,基本上是以下列表中按字母顺序排序的每个组合的一个子目录,并附加“N”:

CrHfMoNb CRHFMOT CRHFMOT CrHfMoV CrHfMoW CrHfMoZr CrHfNbTa CrHfNbTi CrHfNbV CrHfNbW CrHfNbZr CrHfTaW CrHfTaW CrHfTaZr CRHFMOT CrHfMoV CrHfVZr CrHfWZr CrMoNbTa CRMONBT CrMoNbW CrMoNbZr CrMoNbZr CRMONTI CRMONTIV CRHFMOT CRHFMOT CRHFMOT CRHFMOT CRHFMOT CRHFMOT CrHfMoV CrHfMoV CrHfMoZr CrHfWZr CRMOW CRMOW CrMoWZr CrMoNbZr CRMOW CRMOWCrNbTiW CrNbTiZr CrNbVW CrNbVZr CrtIw CrtIzr CrTiVW CrTiVZr CrTiVW CrTiVZr CrTiVZr HfMoNbW HfMoNbW HfMoNbZr HfMoTaTi HfMoTaV HfMoTiW HfMoTiW HfMoTiZr HfMoTiZr HfMoWZr HfMoWZr HfNbTaiZr HfNbTvZr HfNbTivW HfNbZr HfMoTiZr HfMoTiZr HfNbTivW HfNbIvZr HfNbIvZr HfNbNbNbIvW HfNbIvW HfHfTaVW HfTaVZr HfTaWZr HfTiVW HfTiVZr HfTiWZr HfTiWZr HfTiWZr HfTiVZr Monbtatiw MoNbTiZr MoNbTiZr MoNbTiZr MoNbTiZr MoNbWZr Motativw Motativw MoTiVZr MoTiVZr MoTiVZr MoTiVZr MoTiVZr MoVWZr Nbtativzr NbTaVZr NbTaVZr NbTaVZr NbTaVZr NbTaWZr NbTaWZr NbTaWZr NbTaWZr NbtiVwtiVzr NbTiVZr

此列表存储在文件
list.txt
的主目录中。需要连接的文件也存储在此目录中,它们被称为:
文件Cr
文件Hf
文件Mo
文件N
文件Nb
文件Ta
文件Ti
文件V
文件W
文件Zr,所以每个化学元素都有一个文件。我需要做的是连接这些文件,这样对于元素的每个排列,相应的文件都被放在一起并存储在它们的子文件夹中。关键的部分是按照正确的顺序连接它们,如下所示:始终首先是
文件
,然后是按列表顺序排列的金属文件(按字母顺序排列)。例如,在子文件夹中

CrHfMoNbN

顺序是文件夹中的
file\u N
->
file\u Cr
->
file\u Hf
->
file\u Mo
->
file\u Nb

NbTiVWN

顺序是
file\N
->
file\u Nb
->
file\Ti
->
file\V
->
file\u W
。生成的文件应始终命名为您可以使用的
POTCAR

egrep-wo“^PREFIX”list.txt | xargs-I'{}mv{}\file_PREFIX

对于每种类型的文件。我不确定“list.txt”文件中指定了哪些信息,文件的实际位置,文件和目录的名称模式等等

您可以根据具体需要尝试修改此行。

请参阅。