1
я получил список файлов в моей папке, которую я хочу заказать:файлы Сортировать по тегам в имени файла
Rock, World - SongTitle - Interpret.mp3
Rock, Acoustic, SingerSongwriter - SongTitle2 - Interpret.mp3
Rock, Acoustic - SongTitle3.mp3
SingerSongwriter, World - SongTitle4.mp3
Результат должен выглядеть следующим образом:
storage/
- Rock, World - SongTitle - Interpret.mp3
- Rock, Acoustic, SingerSongwriter - SongTitle2 - Interpret.mp3
- Rock, Acoustic - SongTitle3.mp3
- SingerSongwriter, World - SongTitle4.mp3
tags/
- Rock/
- LINK TO: storage/Rock, World - SongTitle - Interpret.mp3
- LINK TO: storage/Rock, Acoustic, SingerSongwriter - SongTitle2 - Interpret.mp3
- LINK TO: storage/Rock, Acoustic - SongTitle3.mp3
- World/
- LINK TO: storage/Rock, World - SongTitle - Interpret.mp3
- LINK TO: storage/SingerSongwriter, World - SongTitle4.mp3
- Acoustic/
- LINK TO: storage/Rock, Acoustic, SingerSongwriter - SongTitle2 - Interpret.mp3
- LINK TO: storage/Rock, Acoustic - SongTitle3.mp3
- SingerSongwriter/
- LINK TO: storage/SingerSongwriter, World - SongTitle4.mp3
- LINK TO: storage/SingerSongwriter, World - SongTitle4.mp3
Я обрисовал сценарий который должен обращаться с этим для меня:
#!/bin/bash
mkdir -p tags;
mkdir -p storage;
for file in *; do
#Grab Tags from the file name
tags=$(echo $file | sed 's/ - /\n/g'); # Doesn't work as it should
# #
# This is just blind, can't say if it works, but should(TM).. #
# #
#Move file to storage folder
mv $file storage/$file;
#Foreach Tag:
while read -r tag; do
#Create tag folder if it doesn't exist yet.
mkdir -p tags/$tag;
#Create Symbolic Link
ln -s storage/$file tags/$tag/$file;
done <<< $tags;
done
Вопрос: Как мне нужно прил ust мой сценарий, чтобы он работал? Я немного благословение в сценариях bash, поэтому, пожалуйста, не обвиняйте меня.
'tags = $ (echo $ file | grep -Eo"^[^ -] * ")'? – Aaron
Я думаю, вы должны уточнить, если вы буквально означаете сортировку слов «Один», «Два», «Три» (который, если вы ожидаете перейти к 100, люди не будут писать бесплатно ;-) .. Или если вы действительно означают «теги предметной области», такие как «Rock», «90s',« Asian ». ? Удачи. – shellter
@shellter Я имел в виду 'TagOne',' TagTwo', 'TagThree' .. Эти реальные теги, очевидно, не являются настоящими тегами. Я получил их в * быстро *, * медленном *, * акустическом *, * Action * и т. Д. – jeyemgfx