Я хочу объединить несколько файлов в целую кучу подпапок.Список файлов всегда один и тот же, но в каждой подпапке должна быть конкатенирована отдельная комбинация, выбор которой должен основываться на имени подпапки.Имена папок содержат перестановки Cr
Hf
Mo
Nb
Ta
Ti
V
W
и Zr
.Так, например, одна папка называется CrHfMoNbN
, следующая CrHfMoTaN
и так далее.Файлы для объединения также содержат эти символы, они называются file_Cr
, file_Hf
, file_Mo
, file_Nb
, file_Ta
, file_Ti
, file_V
, file_W
и file_Zr
.
В конце концов, то, что мне нужно, должно выглядеть так:
cat file_Cr file_Hf file_Mo file_Nb file_Ta file_Ti file_V file_W file_Zr > newfile
, но пропустить 5 из этих файлов в зависимости от того, присутствует ли их символ в имени подпапки.или нет.Например, в папке CrHfMoNbN
код должен работать следующим образом:
cat file_Cr file_Hf file_Mo file_Nb {file_Ta file_Ti file_V file_W file_Zr} > newfile
, где файлы в {}
исключены из команды, в папке HfTiVZrN
itдолжно работать следующим образом:
cat {file_Cr} file_Hf {file_Mo file_Nb file_Ta} file_Ti file_V {file_W} file_Zr > newfile
Исключение должно работать так, чтобы сохранялся алфавитный порядок, то есть file_Hf
всегда следует после file_Cr
, но до file_Mo
.В идеале команда должна быть запущена из родительского каталога для всех вложенных подкаталогов.Я знаю, что первым шагом было бы определить эти буквы как переменные, но в дальнейшем я не знаю, что делать.