Új hozzászólás Aktív témák

  • Jester01
    veterán

    Nos, van egy kezdeményezésem a megoldásra, amit most nem áll módomban letesztelni.

    #! /bin/bash
    if test -f $1;
    then
    _____HOSSZ=`wc -l $1`
    _____for ((i=1; i!= $[$HOSSZ+1]; ++i))
    _____do
    _____head -n $i | tail -n1
    _____if [ $i -ge 2 ]; then
    __________read
    __________clear
    _____fi
    _____done
    else echo ''Nem fájl!''
    _____exit
    fi


    ps.: hiába rakom kódba, a szóközt/tabulálást nem tartja meg, de miért :F

    Kérdésem: hol fog ez megbukni? Csak mert amennyire ismerem magam tuti nem fog műxeni :D
    Az a bash mélységeibe vájós dolog nekem lehet nem menne, és most nem is tudnám meg se nézni, mert bexart a suliban a server, vagy csak szarakodnak velünk (ált. ZH előtt csinálnak vele vmi gubancot, vagy kötprog leadások előtt, hogy a hallgatónak esélye se legyen befejezni időben :( lassan azt kell hinnem ezt direkt csinálják)

    [Szerkesztve]

    Nézd meg ngabor2 szkriptjét, a wc sajnos gonosz módon kiírja a fájl nevét is. Szóval a sorszámoláshoz kell a cut is.
    A ciklusban nyilván nem jó a $i -ge 2 feltétel (még akkor sem ha az ott tkp 24 akart lenni), hiszen így az első képernyő után már soronként várná az entert.
    A for ciklusba a $[$HOSSZ + 1] helyett simán $HOSSZ + 1 kell (vagy egyszerűen i <= $HOSSZ ugye). A head után hiányzik a fájlnév ($1).

    MOD: a szóközt tartalmazó fájlok helyes kezeléséhez a megfelelő helyeken idézőjelbe kell tenni a $1-et.

    [Szerkesztve]

Új hozzászólás Aktív témák