Я пробую, создают сценарий удара для перемещения загруженных файлов аниме в папки без числа эпизода.
Имя файла / Список файлов, Например:
[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - 000 [1080p].mkv
Переместитесь в новую Папку на основе "названия шоу"
[SubsHorrible] name of show
[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - 01 [1080p].mkv
[SubsHorrible] name of show - name2 of show
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 01 [1080p].mkv
[SubsHorrible] name of show
[SubsHorrible] name of show - 100 [1080p].mkv
[SubsHorrible] name of show - 101 [1080p].mkv
Любая справка будет цениться!
Так как Вы не предоставляли сценария для выручения, используйте эту строку для создания имен папок из списка файлов:
filename="[SubsHorrible] name of show - 00 [1080p].mkv"
Затем нуждайтесь в части: echo ${filename" "-*}
Результат: [SubsHorrible] name of show
, для создания папки делают echo ${filename%%" "-*} | xargs -d '\n' mkdir
Объяснение: ${filename%" "-*}
: от задней части имени файла удаляют все до точки " "-
, затем возвратите все остальное.
Для данного образца:
[SubsHorrible] name of show - 00 [1080p].mkv
[SubsHorrible] name of show - name2 of show - 00 [1080p].mkv
[SubsHorrible] name of show - 000 [1080p].mkv
Возвраты:
[SubsHorrible] name of show
[SubsHorrible] name of show - name2 of show
[SubsHorrible] name of show
Используйте этот простой сценарий для создания папок:
#!/usr/bin/env bash
while IFS= read -r var
do
mkdir "${var%" "-*}"
done < "$1"
Использование:
./createfolder.sh list
В - сотрудничают он в Ваш больший сценарий.
https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html