У меня есть папки с такой структурой
parent
|-- output
|-- 1.Abby
| |-- s001_clean.log
| |-- s001_clean.idx
| |-- s002_clean.log
| `-- s002_clean.idx
|-- 2.Chris
| |-- s001.ppt
| `-- s002.ppt
|-- 3.Bobby
|-- s001.tar.gz
`-- s002.tar.gz
Я бы хотел изменить их на эту
parent
|-- s001
|-- 1.Abby
| |-- s001_clean.log
| `-- s001_clean.idx
|-- 2.Chris
| `-- s001.ppt
|-- 3.Bobby
| `-- s001.tar.gz
|-- s002
|-- 1.Abby
| |-- s002_clean.log
| `-- s002_clean.idx
|-- 2.Chris
| `-- s002.ppt
|-- 3.Bobby
`-- s002.tar.gz
Пока мне удалось создать s001 / s002 и Abby / Крис / Бобби папок.
Однако, когда я попытался переместить файлы внутрь, я получил только файл .log, чтобы переместить его к месту назначения.
'''
#!/usr/bin/env bash
aa='1.A'
bb='2.B'
cc='3.C'
for s in output/"$aa"/*_c*; do
sn=${s%%_*}
sn=${sn##*/}
mkdir -p "${sn}"/$aa
mkdir -p "${sn}"/$bb
mkdir -p "${sn}"/$cc
done
'''
Я действительно не знаю, как go отсюда.
Как переместить файлы в каталог назначения?
Кроме того, есть ли способ сделать часть mkdir короче?
Я пробовал несколько способов, но они не работали.
Если бы кто-то мог помочь, это было бы здорово.
Спасибо