1 functionarea "buclei": citeste cate o linie pana ajungi la eof 2 nu ai zis ca vrei Y fisiere intr-un loc? la ce-ti trebuie restul? si da, d+1 daca vrei de la 1 si nu de la 0
t. On Wed, Apr 16, 2014 at 5:21 PM, Adrian Sevcenco <[email protected]>wrote: > On 04/16/2014 04:12 PM, tiberiu socaciu wrote: > > anticarcel: > > > > socaciu@A102-LNX:~/carcel$ cat scr > > #! /bin/bash > > fisierdefisiere="fisierulcufisiere" > > Y=300 > > prefix="dir_" > > > > function genereaza > > { > > rm -f $fisierdefisiere > > for i in `seq 1 1000`; do > > date > fisier$i > > echo fisier$i >> $fisierdefisiere > > done > > } > > > > function imparte > > { > > l=0 > > cat $fisierdefisiere | while read f ; do > > l=$[$l+1] > > d=$[$l/$Y] > > echo procesez $f in directorul $prefix$d > > # aici bagi mutarea, clonarea sau ce mai vrei tu > > done > > } > Multumesc tuturor pentru raspunsuri! Din fiecare am de invatat cite > ceva! > > Din categoria "twho hands face slap" face parte existenta comenzii split > :D (multumesc Bogdan BOTEZ) > Din categoria "both hands scratching head" exemplul lui Nicu cu fmt :) > > La exemplul tau Tiberiu nu am inteles cum ar functiona bucla ... > (ai l care da numarul liniei la care esti; d e numarul de fisiere (la > care ar trebui +1 pentru a lua in calcul restul impartirii)) > Nu am inteles cum se selecteaza Y linii odata pentru a se baga in > fisierul din $prefix$d si pe urma sa se continue cu urmatorul batch. > > Ca sa nu par ca nu am facut nimic, intre timp am gasit si eu o solutie: > > NR_FILES=`cat $DATA_FILE | wc -l` > NR_JOBS=$(( $NR_FILES/$JOBS_PACK + 1 )) > > JOB_NEXT=1 > > for ((idx=1; idx <= NR_JOBS ; idx++)) > { > mkdir -p $DIR_JOBS/job_$idx > > tail -n +$JOB_NEXT $DATA_FILE | head -n $JOBS_PACK > $SUBJOB_DIR/data.txt > > ## job number > (( JOB_NEXT += JOBS_PACK )) > } > > Multumesc frumos tuturor!! > Adrian > > > _______________________________________________ > RLUG mailing list > [email protected] > http://lists.lug.ro/mailman/listinfo/rlug > > _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
