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

Raspunde prin e-mail lui