Bizonyára egyszerű, amit akarok, de eddig nem kellett ilyesmit csinálnom.
Szóval van egy szűrő shell script, amit írok. Kap std inputon egy fájlt, ez több soros text. A következő lenne a feladat: minden sorban megnézem, hogy valami kulcsszó van-e benne, és ha igen, akkor a hozzá tartozó értéket eltárolom. Most így megy: cat >tempfile </dev/stdin ertek1=`grep kulcsszo1 tempfile | cut -f 2 -d :` ertek2=`grep kulcsszo2 tempfile | cut -f 2 -d :` Ezzel ket bajom van: egyfelol feleslegesnek tartom a tempfile letrehozasat, masfelol feleslegesnek tartom, hogy minden grep vegignyalazza az osszes sort (egy kulcsszo csak egyszer fog szerepelni). Valami olyasmire gondoltam, hogy read paranccsal soronkent olvasom be a fajlt, es aztan egyenkent nezem. Szoval valami ilyesmi: while read sor do kulcs=awk '{print $1;}' case kulcs kulcsszo1: ertek1=awk'{print $2;}' ;; kulcsszo2: ... ... esac done Mar tul keso van, most nem allok neki, de ez jo megkozelites? Vagy lehet valahogy egyszerubben csinalni? Mivel ilyesmi egy sor: egy ketto:harom negy:ot hat Ahol a : elotti resz a kulcs, a mogotte kovetkezo az ertek, ezert ezt emlekeim szerint awk-val konnyen fel tudom dolgozni. Tehat a grep igazan nem szukseges. G _________________________________________________ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux