как создать папки с sub папками с помощью определенных переменных?

У меня есть наличие файлов ниже форматирования:

2017-05-01-1500-00S.SRO___001_BH_Z
2017-05-01-1543-04S.SRO___001_BH_E
2017-05-01-1543-04S.SRO___001_BH_N
2017-05-01-1543-04S.SRO___001_BH_Z
2017-05-01-1600-00S.MOG___001_SP_E
2017-05-01-1600-00S.MOG___001_SP_N
2017-05-01-1600-00S.MOG___001_SP_Z
2017-05-01-1600-00S.MYA___001_SP_E
2017-05-01-1600-00S.MYA___001_SP_N
2017-05-01-1600-00S.MYA___001_SP_Z
2017-05-01-1600-00S.SRO___001_BH_E
2017-05-01-1600-00S.SRO___001_BH_N
2017-05-01-1600-00S.SRO___001_BH_Z

Я сделал удар сценариями, которые имеют некоторые переменные, перечисленные здесь:

Св. = ls -1 2* | awk -F "[.__]" '{print $2}' | sort | uniq

cmp = ls -1 2* | awk -F "[__]" '{print $5$6}' |sort | uniq

день = ls -1 2* | awk -F "-" '{print $3}' | sort | uniq

Я хочу сделать некоторую папку с ниже форматирования:

st/cmp/day

и затем скопируйте соответствующие значения в его папку.

например, файлы упоминаются ниже:

2017-05-01-1500-00S.SRO___001_BH_Z
2017-05-01-1543-04S.SRO___001_BH_E
2017-05-01-1543-04S.SRO___001_BH_N
2017-05-01-1543-04S.SRO___001_BH_Z

st=SRO, cmp=BHZ, cmp=BHE, cmp=BHN, и day=01

таким образом, я должен сделать следующий каталог:

во-первых: SRO/BHE/01

во-вторых: SRO/BHN/01

в-третьих: SRO/BHZ/01

и затем файлы копии, содержащие SRO, BHE, 01 (который является day значение) к его соответствующему каталогу.

Я надеюсь, я упомянул детали.

Большое спасибо.

-1
задан 19 September 2018 в 12:54

1 ответ

Итак, у вас есть список файлов в заданном каталоге, как и те, что в вашем вопросе. Вы хотите создать каталоги на основе определенных частей этих имен файлов, а затем переместить эти файлы в соответствующий каталог, правильно?

Если так, как насчет этого?

0
ответ дан 27 October 2019 в 10:37

Другие вопросы по тегам:

Похожие вопросы: