Kezdőlap › Fórumok › Programozás › Bash script
- This topic has 437 hozzászólás, 56 résztvevő, and was last updated 13 years, 11 months telt el by
Goosfrabaa.
-
SzerzőBejegyzés
-
2006-05-31-07:23 #2053229
Sziasztok!
Most kezdek ismerkedni a szkriptekkel és nem tudok rájönni, hogy egy config fájlból, hogyan tudok kiolvasni egy értéket. Pl.:
nev=kisgeza
2006-05-31-08:19 #2053230Ha szkriptben akarod:
Code:. ertekparok/file # source ertekparok/file is jó!
echo $nevHa parancssorban, és nem akarsz környezeti változókat „pazarolni”:
Code:grep „aminek_az_ertekere_kivancsi_vagy” ertekparok/file | awk -F „=” {‘print $2’}Persze az utóbbi szkriptben is mûködik.
2006-06-01-16:43 #2053231Azt hogy egy ciklus hányszor hajtódik végre, ezen kívül meg lehet valahogy számolni? (while/until)
Code:n=`expr $n + 1`
echo $n2006-06-02-07:07 #20532322006-06-13-13:10 #2053233uzsolt wrote:Ha szkriptben akarod:Code:. ertekparok/file # source ertekparok/file is jó!
echo $nevHa parancssorban, és nem akarsz környezeti változókat „pazarolni”:
Code:grep „aminek_az_ertekere_kivancsi_vagy” ertekparok/file | awk -F „=” {‘print $2’}Persze az utóbbi szkriptben is mûködik.
Köszi szépen, így jól mûködik.
De én már tovább binyolítottam az elképzelésemet: Most olyat szeretnék, hogy egy szekciókat is tartalmazó config (ini) fájlból szeretnék kiolvasni értékeket. pl.:
[szekcio_1]
nev=kisgeza
szuletes_ev=1954[szekcio_2]
nev=nagybela
szuletesi_ev=1980stb…
Vagyis: egy ilyen config fájlból hogyan tudnám meghatározni pl a szekcio_1 -> nev értékét?
2006-06-13-16:48 #2053234A bash és az awk is tud tömböket kezelni.
2006-06-14-14:12 #2053235bandras wrote:Vagyis: egy ilyen config fájlból hogyan tudnám meghatározni pl a szekcio_1 -> nev értékét?Ilyet egyszer pascal-ban csináltam. Annyi a lényeg, hogy mindig tárolod, hogy melyik környezetben vagy.
De ha keresni akarsz szekció-név értéket, akkor szintén grep. Paramétereket nem tudok adni, csak elvet: rákeresel „[szekció]”-ra, és addig listázod a dolgokat, amíg újra nem „[.*]”-gal találkozol. Ebben a listában a „név”-re rákeresel. Szerintem a grep-nek van olyan paramétere, amely azt mondja, hogy találat után mindent írjon ki.
Vagy pedig awk-val, jó kis nyelve van ilyenekre. Persze nyilván perl-lel könnyen meg lehet oldani (gondolom), de ez anélkül igazi kihívás 🙂
2006-06-14-18:48 #2053236uzsolt wrote:Szerintem a grep-nek van olyan paramétere, amely azt mondja, hogy találat után mindent írjon ki.Van, illetve valami hasonlót lehet csinálni.
-A num: Az illeszkedést mutató sorok UT2006-06-15-06:54 #2053237MyCroft wrote:Van, illetve valami hasonlót lehet csinálni.
-A num: Az illeszkedést mutató sorok UT2006-06-15-13:12 #2053238uzsolt wrote:Igen, ezt tudom, csak az a ‘num’ zavar, mert nem tudod, hogy utána mennyi van még. Persze lehet egy olyat csinálni (most jutott eszembe), hogy megszámolod a konfig file sorait, és annyi sort íratsz ki (annyi biztos elég:), azaz:Code:grep -A `wc -l filenev` „[szekció]” filenevMivel saját konfig filet-t akar kezelni, gondoltam tudja, hogy egy szekción belül hány sor lesz 🙂
(Legalábbis a példa alapján úgy tûnik) -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.

legutóbbi hsz