if [ ! -d $KONYVTAR ] ; then echo "Hasznalat filenev.sh SZAM KONYVTAR" exit 1 fi
#Váltás a könyvtárra cd $KONYVTAR
#Fileok méretének lekérése OSSZMERET=0
#mappában levõ fileok vizsgálata for FILE in `ls` do FILEAKTUALIS=$FILE #ha az állomány mappa if [ -d $FILEAKTUALIS ] ; then DIRS=0 #megszámoljuk az almappák számát for FILE in `ls $FILE` ; do #FILEBELSO=$file if [ -d $file ] ; then DIRS=$(($DIRS + 1)) fi done #majd kiírjuk a megadott szöveget echo "$FILEAKTUALIS/($DIRS)"
fi
#ha az állomány file if [ -f $FILEAKTUALIS ] ; then #lekérdezzük a file méretét AKTUALISMERET=`cat $FILEAKTUALIS | wc -c` #ellenõrizzük, hogy a mérete nagyob, egyenlõ-e mint a MERET if [ $MERET -le $AKTUALISMERET ] ; then #utolsó elõtti sorának meghatározása SOR=`tail -2 $FILEAKTUALIS| head -1` #kiíratás echo "<---" echo "$FILEAKTUALIS($AKTUALISMERET)" echo $SOR echo "--->" #méret hozzáadása az összeshez OSSZESMERET=$(($OSSZESMERET+$AKTUALISMERET)) fi fi
Én baromira szeretem ezeket a scriptelõs dolgokat, pedig valójában egyiket sem tudom használni, de mivel ott a google, így percek kérdése hogy írjak bennük valamit, ha kell.
Példa: a cég ahol dolgoztam gyakornokként, linuxos szervert használt a klímarendszerek állapotainak naplózására, ami negyed óránként mért, és egy egy textfile-ba mentett. Ebbõl kellett volna a megrendelõnek kimutatást csinálni, de bõven túllépte a 60valahány ezer sort, amit a 2003-as (asszem..) offisz még meg tudott jeleníteni. Viszont ha csak minden egész órás adatot rakunk bele, akkor negyedakkora lesz a fileméret is, és 15-20ezer körül lesznek a sorok. :)
El sem hittem hogy nincs olyan egyszerû progi amivel meg lehet csinálni, hogy automatikusan kiveszed minden negyedik sorát egy file-nak, és átteszed egy másikba. Awk-val viszont egy sor az egész, és ráadásul kb 4 percbõl megvolt a google segítségével, bénázással együtt úgy, hogy a grep-re kerestem rá, nem is az awk-ra :)
Amikor a perlt tanították a fõsulin, akkor mondták, hogy amit lehet, azt keressük meg a neten, és ne programozzunk feleslegesen, mert a legtöbb problémára már írtak megoldást :D
Több probléma is van, az egyik, hogy az awk szerintem nem programnyelv, hanem egy mintaillesztõ program, aminek van saját scriptnyelve.De ez még nem gond, csak kötözködök. :)
Viszont az awk tipikusan unix-os stuff, talán win alatt is megy cygwin-nel vagy msys, de linuxon szoktak vele játszani, futtatható bináris állományt nem kapsz, az awk csupán végrehajtja a scriptjét.
Az awk egy általános célú programozási nyelv, amelyet szöveges állományok földolgozására terveztek. Elnevezése a megalkotói – Alfred Aho, Peter Weinberger és Brian Kernighan – családnevének kezdõibõl született. A UNIX 3 verziójában jelent meg. Ideális szöveges állományok szûrésére, átformálására, kiértékelésére. Ma is minden unix rendszeren van legalább egy awk változat. A Free Software Foundation a gawk nevû változatot gondozza. A linux disztribúciókkal jellemzõen a gawk implementációt szállítják. Windows rendszerekhez is letölthetõ a gawk például a Cygwin részeként. Wikipedia
Szívesen! Csak egy Googlera volt tõled is.
Sziasztok! Érdekelne az AWK nyelv. Egy feladatot kéne benne megcsinálnom. A gondom csak azzal van, hogy nem találtam eddig még egy fejlesztõkörnyezetet, amiben a programot megírhatnám. Azt nagyjából értem, hogy hogyan kéne megcsinálni meg minden, csak azt nem, hogy hova. Szal aki ért az awk nyelvhez az légyszi írjon majd valamit. Kerestem már google-ben meg mindenfélében, de nem találtam. Azokon az oldalakon amik meg awk-val foglalkoztak, mindent írtak, csak azt nem, hogy hogyan kell elkezdeni. Windows xp alatt csinálnám. Lehet ez is probléma? Meg lehet ezt valahogy oldani?