přejít na obsah přejít na navigaci

Linux E X P R E S, Mícháme pořadím souborů v Linuxu

Mícháme pořadím souborů v Linuxu

Kopírujeme soubory do přehrávače ve správném fyzickém pořadí.


Můj MP3 přehravač Evolve je šikovný, umí přehrávat hudbu a dlouho vydrží. To je skvělé, nicméně podobně jako jiné kusy spotřební elektroniky má nějakou tu vadu. Neumí skladby v adresáři setřídit - vždy je přehrává „tak jak jsou“. Od takového zařízení obvykle očekáváme přehrávání skladeb v lexikografickém pořadí, já sám všechny skladby vždy pojmenovávám ve formátu 01-nazev.ogg (případně mp3). Jenže přehrávač to bere jakoby napřeskáčku – soubory totiž nejsou fyzicky na disku uloženy v setříděné formě.

Příkaz ls z balíku GNU Fileutils se chová standardně tak, že soubory setřídí. Ukážeme si to na příkladě – album od Anny K Best Of:

$ ls -1
01-Laska 2.0.mp3
02-Nebe.mp3
03-Nelitam nizko.mp3
04-Noc na zemi.mp3
05-Sesty smysl.mp3
06-Pohadka.mp3
07-O kousek vedle tebe.mp3
08-Chvili nad vodou.mp3
09-Spojeny kralovstvi smutku a radosti.mp3
10-Vecernice.mp3
11-Jedem krajinou.mp3
12-Vecirek za koncem.mp3
13-Snad.mp3
14-Zaviram oci.mp3
15-Staci, kdyz se divas.mp3
16-Setri s tim.mp3
17-Kousek myho ja.mp3
18-Vzacnej den.mp3
19-Laska.mp3
20-Shakey Ground (Bonus).mp3

Když toto album nahraju do přehrávače, nebude jej reprodukovat v tomto pořadí. Proč? Na disku jsou soubory uloženy nesetříděně. V mém případě je to takto:

$ ls -1U
07-O kousek vedle tebe.mp3
06-Pohadka.mp3
02-Nebe.mp3
17-Kousek myho ja.mp3
03-Nelitam nizko.mp3
08-Chvili nad vodou.mp3
11-Jedem krajinou.mp3
20-Shakey Ground (Bonus).mp3
15-Staci, kdyz se divas.mp3
13-Snad.mp3
19-Laska.mp3
04-Noc na zemi.mp3
18-Vzacnej den.mp3
09-Spojeny kralovstvi smutku a radosti.mp3
16-Setri s tim.mp3
14-Zaviram oci.mp3
01-Laska 2.0.mp3
10-Vecernice.mp3
12-Vecirek za koncem.mp3
05-Sesty smysl.mp3

Podobně bychom pochodili, kdybychom soubory vypsali příkazem find . -type f. Jak tedy docílíme toho, abychom je měli na přehrávači ve správném pořadí? Předně je třeba si uvědomit, že jde o fyzické uložení na disku (resp. ve stromu inodů), takže pouhé nastavení času souborů nám vůbec nepomůže:

IFS=$'\n'; for F in $(ls -1); do touch "$F"; done # tohle nedělejte - je to k ničemu

Je třeba soubory nekopírovat hvězdičkovou konvencí (přes zástupný/žolíkový znak), ani přes Midnight Commandera nebo Nautilus (či cokoli jiného). Je třeba vytvořit skript, který vytřídí soubory nejprve podle názvu a poté je bude jeden po druhém kopírovat na cílové médium. Skript, který jsem si vytvořil já je tento (pojmenoval jsem ho 2player.sh):

#!/bin/bash
MEDIADIR=/media/30A3-239E
IFS=$'\n'
for DIR in $(ls -1); do
if [ -d "$DIR" ]; then
echo "Processing $DIR"
mkdir -p "$MEDIADIR/$DIR"
for FILE in $(ls -1 "$DIR"); do
echo "Copying $DIR/$FILE"
cp -n "$DIR/$FILE" "$MEDIADIR/$DIR"
done
fi
done

Skript mám v prázdném adresáři, do kterého nejprve všechny soubory, které chci kopírovat do zařízení, nakopíruji. Obvykle provedu potřebné úpravy (zkrátím názvy, případně rekóduji do OGGu) a nakonec skript spustím. Ten soubory kopířuje adresář po adresáři, soubor po souboru. Vše má vždy setříděné dle názvu. Nakonec si můžete fyzické pořadí uložení souborů na cílovém svazku ověřit pomocí příkazu ls -1U.

Ačkoli nejsem zrovna posluchač popu, toho českého už vůbec ne, písničky od Anny K mám moc rád. Držím Lucce pěsti, ať se uzdraví.

Nahoru

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Lukáš Zapletal

Lukáš Zapletal

Senior Software Engineer @ Red Hat


  • Distribuce: Fedora

| blog



Public Relations

Každý den se do práce těším, říká Viktor ze Siemens Advanta

Viktor ŽaludViktor Žalud je hardwarový vývojář a v Siemens Advanta se zaměřuje na vývoj zařízení pro průmyslovou automatizaci. „Každé zařízení musím navrhnout, nechat vyrobit, otestovat jeho funkcionalitu a zajistit, aby splňovalo všechny předpisy a normy,“ popisuje svou práci. „Práce mě baví i proto, že každý půlrok vymýšlím řešení pro jiný výrobek a všechny jsou unikátní,“ vysvětluje.

Pokračování ...



Public Relations

Elektronické podpisy, pečetě a časová razítka jednodušeji a levněji

elektronický podpisKlienti společnosti Gordic se díky certifikovanému partnerství se Software602 obejdou při kva­li­fi­ko­va­ném elektronickém po­de­pi­so­vá­ní bez tokenů nebo čipových karet. Uži­va­te­lé in­for­mač­ní­ho sys­té­mu GINIS nyní mohou po­de­pi­so­vat a pe­če­tit jed­no­du­še­ji a levněji.

Pokračování ...


Redakční blog

Pavel Fric

Pavel Fric, 10. April

Zapojte se do tvorby distribuce Mageia

Podílejte se na vytváření balíčků pro Mageiu, dělejte, co je potřeba, staňte se baličem


Pavel Fric

Pavel Fric, 13. March

Lollypop

Lollypop je hudební přehrávač navržený, jak ukazuje jeho podoba, aby výborně zapadl do pracovního...


Pavel Fric

Pavel Fric, 26. February

QElectroTech

Kreslení elektrotechnických i jiných výkresů


Všechny blogy »


Public Relations

Jak si vybrat spolehlivé online kasino?

CasinoVýběr poctivé herny je otázka, která se týká nejen začínajících hráčů, ale i hráčů se zkušenostmi. Poctivé casino je skutečnou šancí nejen si užít proces, ale také vyhrát. Online zábavní portál je specializovaná služba, která uživatelům umožňuje hrát o peníze. Online herní průmysl se neustále vyvíjí a online kasina úspěšně konkurují kamenným provozovnám.

Pokračování ...