我想将一堆子文件夹中的几个文件串联起来。文件列表始终是相同的,但是在每个子文件夹中应串联不同的组合,其选择应基于子文件夹名称。文件夹名称包含Cr
Hf
Mo
Nb
Ta
Ti
V
W
和{{1 }}。因此,例如,一个文件夹称为Zr
,下一个CrHfMoNbN
,依此类推。要串联的文件也包含这些字符,它们分别称为CrHfMoTaN
,file_Cr
,file_Hf
,file_Mo
,file_Nb
,file_Ta
, file_Ti
,file_V
和file_W
。
最后我需要的是这样的
file_Zr
,但根据子文件夹名称中是否存在它们的字符而忽略其中的5个文件。例如,在文件夹cat file_Cr file_Hf file_Mo file_Nb file_Ta file_Ti file_V file_W file_Zr > newfile
中,代码应如下所示:
CrHfMoNbN
cat file_Cr file_Hf file_Mo file_Nb {file_Ta file_Ti file_V file_W file_Zr} > newfile
中的文件已从命令中排除,在文件夹{}
中,其工作方式应为:
HfTiVZrN
排除项应以保留字母顺序的方式工作,这意味着cat {file_Cr} file_Hf {file_Mo file_Nb file_Ta} file_Ti file_V {file_W} file_Zr > newfile
总是在file_Hf
之后但在file_Cr
之前。理想情况下,该命令应从所有包含的子目录的父目录中运行。我知道第一步是将这些字母定义为变量,但后来我不知道该怎么办。