У меня есть этот скрипт, который отлично работает; он переименовывает загрузку в качестве ее папки, а затем перемещает ее в определенное место.BASH - Автоматически переименовывать файл как свою папку
#!/bin/bash
shopt -s nullglob
for filename in /User/Downloads/{SERIES,MOVIES}/*.{mkv,avi,mp4}; do
new_path="$(dirname $filename).${filename##*.}"
new_path="${new_path/Downloads/Downloaded/SERIES}"
echo "moving $filename -> $new_path"
mv "$filename" "$new_path"
done
Я хочу добавить некоторые функции к нему, чтобы адаптироваться к другим ситуациям, но я не знаю, как их реализовать.
То, что я хочу сделать, это:
В настоящее время файл с именем
Episode1.mkv
переименованSERIES.mkv
и переехал вDownloaded/SERIES
. Я хочу сделать это, если папкаSERIES - Breaking
, тогда файл будет переименован вBreaking.mkv
(поэтому безSERIES -
).В настоящее время он перемещает загруженный файл только в
Downloaded/SERIES
. Я хочу, чтобы файл был перемещен вDownloaded/SERIES
, если его папка былаSERIES -
иDownloaded/MOVIES
, если ее папка былаMOVIES -
.
Может кто-нибудь мне помочь?
Возможно, вы захотите использовать 'awk' для обработки имени файла –
Можете ли вы привести мне пример? – DylanDog
'renamedpath = $ (echo $ filename | awk' ...') ' –