Portál AbcLinuxu, 10. května 2025 04:09

Dotaz: akotomaticke rozdelenie priecinku cez bash

13.11.2007 21:47 majo
akotomaticke rozdelenie priecinku cez bash
Přečteno: 215×
Odpovědět | Admin
mam priecinok /x/y v ktorom je strasne vela suborov a potrebujem ho automaticky rozdelilo a subory rovnomerne presunulo do 4 alebo x dalsich priecinkov....proste niaky script v bashy ktory si zisti kolko je v tom priecinku suborov vydeli to napr. 4 a potom uz len cyklus ktory postupne presunie cast do priecinku 1 dalsie subory do priecinku 2:....len to neviem nakodit...:(
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.11.2007 22:27 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: akotomaticke rozdelenie priecinku cez bash
Odpovědět | | Sbalit | Link | Blokovat | Admin
podcasti=4;
ted=1;
for i in /x/y/*; do
    mv $i nekam/$ted/
    ted=$(( $ted + 1 ));
    [ "$ted" -gt "$podcasti" ] && ted=1;
 done

Pokud by se ty adresáři měly jmenovat nějak zvláštně, tak třeba:

kam="/neco/prvni/:/kamsi/jinam/:...";
...
mv $i `echo "$kam" | cut -f $ted '-d:'`;
...
I am always ready to learn although I do not always like to be taught. (W. Churchill)
14.11.2007 00:05 kapy | skóre: 4 | blog: kapy
Rozbalit Rozbalit vše Re: akotomaticke rozdelenie priecinku cez bash
Tohle nebude fungovat, kdyz budou v nazvech souboru mezery.

ja bych to zkusil asi takhle:

find -print0 -type f /xx/yy > filelist

pak bych to rozdelil na 4, tady bych asi nebyl elegantni :(, momentalne volim reseni +-od oka rucne

a potom

cat filelist.part1 | xargs -0 mv '{}' /novy/cast1

... Netestovano, ale melo by to bezet i s mezerami.
14.11.2007 00:17 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
Rozbalit Rozbalit vše Re: akotomaticke rozdelenie priecinku cez bash
Tohle nebude fungovat, kdyz budou v nazvech souboru mezery.

Jasně - ale řekl bych, že by stačilo pohrát si trochu s $IFS a místo wildcardů použít `find ...`.

Ty mezery jsem neřešil, protože většinou podobný věci provádím jenom nad svými soubory a tam žádné speciální znaky nepoužívám (a kacířsky dodávám, že IMHO by se název souboru měl vejít do ^[a-zA-Z0-9_-.]*$).

I am always ready to learn although I do not always like to be taught. (W. Churchill)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.