AWK
Jelentkezz be a hozzászóláshoz.
mármint ez az oprendszerek kötprog, de erõsen kötõdik hozzá 😄
Mondottam ember, küzdj és bízva bízzál, bicajozz, hogy el ne hízzál.
Annyit tudok besegíteni, hogy bevágom a régi kötprogomat.
#!/bin/bash
# parameterek szamanak ellenorzese
if [ $# -ne 2 ] ; then
echo "Hasznalat filenev.sh SZAM KONYVTAR"
exit 1
fi
#Értékadás
MERET=$1
KONYVTAR=$2
#könyvtár létezésének ellenõrzése
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
done
#a megfelelt fileok méretének kiiratása
echo "Osszesen: $OSSZESMERET bajt"
#!/bin/bash
# parameterek szamanak ellenorzese
if [ $# -ne 2 ] ; then
echo "Hasznalat filenev.sh SZAM KONYVTAR"
exit 1
fi
#Értékadás
MERET=$1
KONYVTAR=$2
#könyvtár létezésének ellenõrzése
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
done
#a megfelelt fileok méretének kiiratása
echo "Osszesen: $OSSZESMERET bajt"
Mondottam ember, küzdj és bízva bízzál, bicajozz, hogy el ne hízzál.
É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 😄
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 😄
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.
Kis help elindulni. 😊
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.
Kis help elindulni. 😊
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.
Wikipedia
Szívesen! Csak egy Googlera volt tõled is.
#1
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?
É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?