У меня есть несколько файлов, которые были восстановлены из резервной копии, но имеют структуру (расположение файла) как имя файла.
например:
C\Users\Welcome\Desktop\Doc1.docx
F\New folder\concerts\0904M002.WAV
Я хочу сделать скрипт, который берет эти имена по одному и создает соответствующие папки и помещает файл в папку.
например: F\New folder\concerts\0904M002.WAV
--> Создать папку "F" в текущем каталоге, затем cd в F создать папку "New folder", аналогично создать "concerts" (или напрямую mkdir F\New folder\concerts)
--> переименовать файл "F\New folder\concerts\0904M002. WAV " в "0904M002.WAV " и переместите его во вновь созданную папку "F\New folder\concerts\"
Может кто-нибудь помочь мне со скриптом? Спасибо
Используйте следующий сценарий удара.
#!/bin/bash
for file in *\\*
do
destFile="${file//\\/\/}"
destFolder="${destFile%/*}"
[ -d "$destFolder" ] || mkdir -p "$destFolder"
mv -v "$file" "$destFile"
done
код в основном заменяет весь \
в исходном файле с /
для получения целевого пути к файлу. Затем это получает целевой каталог файла и создает его с помощью mkdir -p
. Наконец файл копируется в папку назначения.
Пишут код в файл (давайте скажем script.sh
), и затем в терминале делают
$ chmod +x script.sh $ ./script.sh