Извините, если этот вопрос задавался ранее, я просто не знал, как его обозначить как поисковый запрос.
У меня есть набор папок, которые выглядят так:
Brain - Amygdala/ Brain - Spinal cord (cervical c-1)/ Skin - Sun Exposed (Lower leg)/
Brain - Caudate (basal ganglia)/ Lung/ Whole Blood/
У меня также есть набор файлов, которые выглядят так:
Brain_Amygdala.v7.covariates_output.txt Skin_Not_Sun_Exposed_Suprapubic.v7.covariates_output.txt
Brain_Caudate_basal_ganglia.v7.covariates_output.txt Skin_Sun_Exposed_Lower_leg.v7.covariates_output.txt
Brain_Spinal_cord_cervical_c-1.v7.covariates_output.txt Whole_Blood.v7.covariates_output.txt
Как видите, файлы не полностью совпадают с каталогами в своих именах. Например, Brain_Amygdala.v7.covariates_output.txt
не полностью идентичен Brain - Amygdala/
. Даже если бы мы вырезали имя ткани из файла ковариат, Brain_Amygdala
отформатирован иначе, чем соответствующая папка.
То же самое с Whole Blood/
. Он отличается от Whole_Blood.v7.covariates_output.txt
, даже если вы должны были изолировать название ткани из файла ковариат Whole_Blood
.
Однако я хочу переместить каждый из этих файлов тканей в соответствующую папку. Если вы заметили, ковариатские файлы названы в честь ткани, ведущей к первой точке .
в имени файла. Они разделены подчеркиванием _
. То, как я думал о приближении к этому, было , чтобы разбить первые несколько слов, ведущих к первым .
имени файла, чтобы я мог легко переместить его в соответствующий файл.
, например
Brain_Amygdala.v7.covariates_output.txt
-> Brain*Amygdala
[mv] -> Brain*Amygdala/
a) Я не уверен, как изолировать первые слова имени файла, ведущего к первому .
в имени файла
б) если бы я это сделал, я не знаю, как вставить подстановочный знак между каждым словом и сопоставить его с соответствующей папкой.
Однако, Я полностью открыт для других способов сделать что-то подобное.