Zkopírování adresářové struktury

Polon

Zkopírování adresářové struktury
« kdy: 18. 12. 2014, 22:15:07 »
Potřebuju poradit s tímto. Potřebuju zkonvertovat hromadu FLACů na MP3. Ty FLACy mám poctivě utříděné podle autorů a pak jednotlivých alb. Napsat skript na převod FLAC do MP3 není problém pro mě (včetně toho aby rekurzivně prolezl všechny podadreáře), ale ty nově vzniklé MP3 pak potřebuju přemístit do nových adresářů jejichž struktura bude stejná jako ve které jsou ty zdrojové FLACy, ale to nemůžu přijít jak mám udělat. Je na to nějaký fígl?


Zopper

  • *****
  • 657
    • Zobrazit profil
Re:Zkopírování adresářové struktury
« Odpověď #1 kdy: 18. 12. 2014, 22:35:54 »
Hmmm, co třeba použít find pro nalezení všech FLACů v nějakém podstromu (i s relativní cestou, ne jen jméno souboru), osekat z nich jméno souboru (dirname), seřadit je sortem a prohnat přes uniq, a pak prostě mkdir -p pro vytvoření adresářů? (Ten -p parametr vytvoří celou cestu jak je potřeba, všechny ty neexistující rodičovské adresáře.)

Tím máš vytvořenou adresářovou strukturu a stačí ti jen vzít seznam FLACů z prvního kroku, zkonvertovat a uložit s upravenou příponou.

Franta <xkucf03/>

Re:Zkopírování adresářové struktury
« Odpověď #2 kdy: 18. 12. 2014, 22:48:59 »
Přes find opt/ -type d najdeš adresáře a pomocí xargs si je vytvoříš:

Kód: [Vybrat]
find zdroj/ -type d -print0 | xargs --null --max-args=1 sh -c 'mkdir -p "cíl/$@"' +
a obdobně pak nakopíruješ soubory:

Kód: [Vybrat]
find auto/ -iname '*.flac' -print0 | …
Radši si to vyzkoušej někde nanečisto, ale mělo by to fungovat :-)

#

Re:Zkopírování adresářové struktury
« Odpověď #3 kdy: 18. 12. 2014, 22:57:06 »

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Zkopírování adresářové struktury
« Odpověď #4 kdy: 18. 12. 2014, 23:44:06 »
Tady, jestli vam nevadi, ze je to i s tou konverzi: http://pastebin.com/qm0d2b8S

Dopilujte si to podle potreby.


jenda

Re:Zkopírování adresářové struktury
« Odpověď #5 kdy: 19. 12. 2014, 00:19:29 »
presne jak je to v tom pastebin ... casto mi proste nic jineho neslo, nez : find .... | while read fileName; do echo "processing $fileName";delej neco / dirname / basename ; done

Kremo

Re:Zkopírování adresářové struktury
« Odpověď #6 kdy: 19. 12. 2014, 07:38:38 »
Sorry, nie som linuxak, ale mozno nakopnem spravnym smerom.
Linux nepozna nieco ako xcopy vo win ?
xcopy zdroj\*.mp3 ciel /E
(vytvori strukturu a skopiruje co treba, vratane prazdnych adresarov)

aaa

Re:Zkopírování adresářové struktury
« Odpověď #7 kdy: 19. 12. 2014, 08:46:39 »
Pokud se nechces nutne procvicit v shellu, tak jak bych to delal ja - zkopiroval bych si to vcetne souboru a na novem umisteni pak pustil pres find ten skript.

dustin

Re:Zkopírování adresářové struktury
« Odpověď #8 kdy: 19. 12. 2014, 08:55:11 »
Nic z toho nedělej. Nastav si mp3fs (pár příkazů včetně instalace) a máš mp3 vždy aktuální. FLACů by ses stejně nezbavoval, tak proč se patlat se zrcadlením. Konverze vyžaduje minimální zátěž CPU, běží to dobře i na atomu.

Kit

Re:Zkopírování adresářové struktury
« Odpověď #9 kdy: 19. 12. 2014, 09:26:45 »
Linux nepozna nieco ako xcopy vo win ?

Má, například rsync, ale tady je nutné při tom kopírování udělat na těch souborech nějaký úkon.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Zkopírování adresářové struktury
« Odpověď #10 kdy: 19. 12. 2014, 09:32:11 »
Linux nepozna nieco ako xcopy vo win ?
xcopy zdroj\*.mp3 ciel /E
(vytvori strukturu a skopiruje co treba, vratane prazdnych adresarov)

Tak na Widlich tezko do toho xcopy pridate jeste prikazy pro konverzi do jineho formatu a o to tu jde. Prectete si dotaz.

Pavouk106

  • *****
  • 2 395
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:Zkopírování adresářové struktury
« Odpověď #11 kdy: 19. 12. 2014, 09:52:36 »
Dustin tu napsal nejelegantnější řešení. Sám to takhle mám a používám (neporadil jsi mi to tady Ty, Dustine? :-) ).

Je to jen jeden řádek v /etc/fstab a máš vystaráno.

Navíc jak píše, běží to dobře i na Atomu (na poslech, ne na rychlé kopírování).

NooN

Re:Zkopírování adresářové struktury
« Odpověď #12 kdy: 19. 12. 2014, 10:07:48 »
Linux nepozna nieco ako xcopy vo win ?
xcopy zdroj\*.mp3 ciel /E
(vytvori strukturu a skopiruje co treba, vratane prazdnych adresarov)

Tak na Widlich tezko do toho xcopy pridate jeste prikazy pro konverzi do jineho formatu a o to tu jde. Prectete si dotaz.
Radsej si to precitaj ty co sa pyta, pomozem ti

Citace
...ale ty nově vzniklé MP3 pak potřebuju přemístit do nových adresářů jejichž struktura bude stejná jako ve které jsou ty zdrojové FLACy, ale to nemůžu přijít jak mám udělat. Je na to nějaký fígl?

dustin

Re:Zkopírování adresářové struktury
« Odpověď #13 kdy: 19. 12. 2014, 10:10:13 »
To už si nepamatuju, ale je to dost možné, mp3fs doporučuji v těchto případech vždy. Jen je mi líto těch chudáků s windows, kteří se musí pořád dál mořit se zrcadlením...

Kit

Re:Zkopírování adresářové struktury
« Odpověď #14 kdy: 19. 12. 2014, 10:44:44 »
... Jen je mi líto těch chudáků s windows, kteří se musí pořád dál mořit se zrcadlením...

Kdo chce používat Windows, ten si je zaslouží. Není mi ho líto, dobře mu tak!