Thunar - rozdeľ podľa autora

23.12.2023 | 20:00 | rozsypané korálky | kamowski

Robím veľké upratovanie v zbierke PDF dokumentov. Jedným z krokov je roztriediť ich podľa autora.

Skoro ráno som sa pustil do práca, ale pri obrovskom počte PDF dokumentov, ich verzií v TXT formáte a množstve MP3 súborov z nich vytvorených, som sa zhrozil. To je práca na týždeň, non-stop.
Ale nie :)
Bol som si istý, že som neobjavil teplú vodu a v podobnej situácii sa ocitli aj iní a riešili to. Samozrejme, našiel som riešenie. Jednoduchý skript, ktorý zbierku rozdelí do adresárov podľa začiatočného písmena a do podadresárov pomenovaných po autoroch.
Dostanem štruktúru:
/cesta_k_zbierke/A/al mascudi/nejaké jeho dielo

Predpokladá to však jednu dôležitú vec, že názvy súborov sú vo formáte:
priezvisko meno - názov
s medzerami a pomĺčkou tak, ako je to v zápise, medzery ani diakritika nie sú problém.
Vďaka mnohým pokusom o usporiadanie zbierky a pravidelnou úpravou pri pridávaní nových súborov, mnohé mám takto upravené. S tým zvyškom, tiež dosť objemným, sa pohrám. Aspoň vytriedim duplicity a smetie. Ale ten skript mi ušetril kopu práce.

Pôvodný skript:

for f in *.pdf; do     name=`echo "$f"|sed 's/ -.*//'`;     letter=`echo "$name"|cut -c1`;     dir="$letter/$name";     mkdir -p "$dir";     mv "$f" "$dir"; done

Tento, určený na triedenie iba PDF dokumentov, som si trochu "ohol", nakoľko tam mám aj TXT, MP3, ODT, ...., skrátka, všeličo.

for f in *.*; do     name=`echo "$f"|sed 's/ -.*//'`;     letter=`echo "$name"|cut -c1`;     dir="$letter/$name";     mkdir -p "$dir";     mv "$f" "$dir"; done

No a nakoniec "Vlastná akcia" do Thunaru:
pozri obrázky v prílohe.
#v názve akcie je podčiarkovník pred _Roztrieď, ten spôsobí, že po vyvolaní kontextového menu (robím to 3. klávesou vpravo od medzerníka) stlačím "r", (vlastne je to jednoklávesová skratka) a spustím funkciu.

Prílohy



    • RE: Thunar - rozdeľ podľa autora 25.12.2023 | 12:01
      Avatar kamowski Linux Mint  Používateľ

      ten druhý, "upravený" príkaz som si ešte zjednodušil, teraz nerobí adresáre podľa písmena ale iba podľa mena.

      for f in *.*; do     name=`echo "$f"|sed 's/ -.*//'`;     dir="$name";     mkdir -p "$dir";     mv "$f" "$dir"; done

      teraz mi z toho vylezie rovno adresár podľa mena, napr.: bernolák anton

      potreboval by som do toho napasovať zenity dialóg, kde mu zadám ľubovolný text, ktorým názov toho adresára upravím do podoby napr.: a - bernolák anton
      alebo 1 - bernolák anton

      viete mi s tým niekto, prosím, pomôcť?