У меня есть большой репозиторий медиафайлов, которые следуют соглашениям об именах торрентов - что-то неприятное для чтения. В какой-то момент я правильно назвал папки, содержащие указанные файлы, но не хочу выгружать все файлы .avi, .mkv и т. Д. В мой основной медиа-каталог, используя сценарий bash.Переименовать файлы в папках в имена папок при сохранении расширений
Обзор: Текущий дерево каталогов:
Proper Movie Title/
->Proper.Movie.Title.2013.avi
->Proper.Movie.Title.2013.srt
Title 2/
->Title2[proper].mkv
Movie- Epilogue/
->MOVIE EPILOGUE .AVI
Media Movie/
->MEDIAMOVIE.CD1.mkv
->MEDIAMOVIE.CD2.mkv
. . .
Желаемая дерево каталогов:
Proper Movie Title/
->Proper Movie Title.avi
->Proper Movie Title.srt
Title 2.mkv
Movie- Epilogue.avi
Media Movie/
->Media Movie.cd1.mkv
->Media Movie.cd2.mkv
Хотя это было бы идеальным, мое главное пожелание для каталогов с только один файл фильма в иметь этот файл будет переименован и перемещен в родительский каталог.
Мой нынешний подход заключается в использовании цикла double для файла в формате .sh, но в настоящее время я с трудом сохраняю новое знание bash в своей голове.
Справка будет принята с благодарностью.
Мой текущий код (Просто, чтобы получить доступ к внутренним файлам фильма):
#!/bin/bash
FILES=./*
for f in $FILES
do
if [[ -d $f ]]; then
INFILES=$f/*
for file in $INFILES
do
echo "Processing >$file< folder..."
done
#cat $f
fi
done
Быстрое решение - сказать «нет» пиратству! Купите фильмы, и у них будут соответствующие названия. –
Покажите, что вы пробовали, мы не здесь, чтобы написать ваш код для вас. – Barmar
Добавлен код, о котором я думаю. – SWPhantom