我有一个包含数千个文件的文件夹,这些文件遵循以下命名方案:
'institute_model_scenario_river.txt'
文件名的每个组成部分(机构、模型、场景、河流)都是变量。
然后,我想按每个变量的名称 exept'scenario'
和对这些文件进行排序和分类'river'
。
因此,应使用每个研究所名称创建一个相应的目录。这些目录应该由相应地命名为不同“模型”名称的子目录组成。
更准确地说,我想提供一个小例子,考虑以下文件:
wbm_gfdl_rcp4_mississippi.txt
matsiro_gfdl_rcp8_amazon.txt
wbm_miroc_rcp8_niger.txt
我想创建一个包含'wbm'
子目录'gfdl'
(包含以下文件'wbm_gfdl_rcp4_mississippi.txt'
)和'miroc'
(包含以下文件'wbm_miroc_rcp8_niger.txt'
)的目录。和一个'matsiro'
只有一个'gfdl'
子目录(包含'matsiro_gfdl_rcp8_amazon.txt'
)的目录。
考虑到大量的文件,我真的不知道从哪里开始!
在 bash 中,您可以将文件名拆分为一个数组:
如果您想移动文件而不是复制它们,请使用
mv
instead ofcp
.