Sziasztok!
Egy olyan kérdésem lenne, hogy, ha van egy awk fájlom, pl.
"
#! /bin/awk -f
/valami/
"
és a valami megtalálása esetén lefuttatnék egy xyz.sh fájlt akkor azt hogyan lehet megtenni?
Gondolom nem így:
"
#! /bin/awk -f
/valami/ ./xyz.sh
"
Köszönöm a segítségeteket!
- 1281 megtekintés
Hozzászólások
system(cmd-line) Execute the command cmd-line, and return the exit status. (This may not be available on non-POSIX systems.)
- A hozzászóláshoz be kell jelentkezni
gawk:
parancs = "uname -a"; parancs | getline eredmeny; printf("%s\n",eredmeny)
udv Zoli
- A hozzászóláshoz be kell jelentkezni
de le is kell zarni close(parancs)-csal a pipeot.
- Use the Source Luke ! -
- A hozzászóláshoz be kell jelentkezni
Kedves Zoli!
Itt mi mit jelent?
parancs = xyz.sh ?
eredmeny = ??
Köszi!
- A hozzászóláshoz be kell jelentkezni
a parancs az amit le akarsz futtatni, a getline pedig az utanna kovetkezo nevu valtozoba olvassa be a parancs kimenetet
udv Zoli
- A hozzászóláshoz be kell jelentkezni
Felmerül a szokásos kérdés: Mit szeretnél valójában csinálni, mi a feladat?
- A hozzászóláshoz be kell jelentkezni
Kedves zeller!
Azt szeretném csinálni, hogy egy folyamatosan frissülő fájlra lefuttatok egy awk-mintát pl. /minta/ és ha ezt megtalálja valahol, akkor indítsa el az xyz.sh shell szkriptet, ami például más paraméterekkel újraindítja a szimulációt, amiből újra jön egy kimenet...
- A hozzászóláshoz be kell jelentkezni
Akkor ez miért nem jó?
grep minta /folyamatosan/frissulo/fajl 2>&1 >/dev/null && restart_szimulacio.sh
De ilyen folyamatosan frissülő fájlnál tényleg a sec lenne a korrekt megoldás, esetleg a logtail meg némi scriptelés -- nem értem, minek erőltetni az awk-ot...
- A hozzászóláshoz be kell jelentkezni
what on earth is "sec" ?
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Az awk-t azért erőltetem, mert a gép amin dolgoznom kell, awk-val fel van szerelve, sec viszont nincs rajta és telepítési jogom sajnos nincs ezért abból kell gazdálkodnom, amim van.
- A hozzászóláshoz be kell jelentkezni
Perl biztos van, a sec.pl meg akárhonnan is működik, ahogy többen említettük volt, az awk-kal épkézláb módon nem fogsz célt érni. Bár mindenki úgy és azzal szivatja magát, ahogy és amivel akarja...
- A hozzászóláshoz be kell jelentkezni
és telepítési jogom sajnos nincs
ez unix, vagy miaszösz?
unix rendszeren mindig van lehetőséged program felrakására. lehet, hogy forrásban kell vinned, és helyben fordítanod, de akkor is tudod a programodat futtatni.
az én véleményem, hogy a feladatot, amit szeretnél megcsinálni, sokkal könnyebb és gyorsabb perl-ben megírni, mint awk-ban. pontosabban fogalmazva: nagyon kevés feladat van, amit awk-ban egyszerűbb és gyorsabb megcsinálni, és ez jó eséllyel nem tartozik közéjük.
- A hozzászóláshoz be kell jelentkezni
Erre korabban mar nyitottal egy masik kerdest. A foyamatosan valtozo fajl-t awk-kal direktben nem sok eselyed van kezelni, ugyanis ha eccer elert a vegeig, szepen ki fog lepni. Korabban mar javasoltak tobben, hogy a *szintisztan* awk megoldast felejtsd el, helyette epitkezz a meglevo eszkozokre:
tail -f fajl |
awk '
BEGIN { futtatando = "scripted_path_szal_megadva" ; }
/valami/ {
statusz = system( futtatando );
itt_csinalsz_a_statusz_szal_amit_akarsz
}
'
Ennek az az elonye, hogy a tail -f soha nem lep ki, tehat az awk tenyleg a vegtelensegig fut.
- A hozzászóláshoz be kell jelentkezni
Szia Zahy!
Köszönöm a segítségedet.
Ha megoldható, két sorod részletezését kérném:
statusz = system( futtatando );
itt_csinalsz_a_statusz_szal_amit_akarsz
Addig értem, hogy ha a valami mintát megtaláltam, akkor futtatando név alatt rögzítve van a szkript elérési helye.
De magát a statusz = ..... sort
és az
itt_csinalsz_a_statusz_szal_amit_akarsz
sort nem értem.
A system parancs a futtatáshoz kell?
Elnézést az alap kérdésekért.
- A hozzászóláshoz be kell jelentkezni
system( script ) ami a zaroljelben van bash script, azt futtatja, a status pedig a visszateresi erteke a lefutott scriptnek, ha ezzel akarsz valamit kezdeni.., de ez mar az elso hozzaszolasbol is ertheto volt szvsz.
- A hozzászóláshoz be kell jelentkezni
Köszönöm!
Igen, gondolkodhattam volna többet rajta mielőtt írok, ebben igazad van.
Mégegyszer köszönöm!
- A hozzászóláshoz be kell jelentkezni
Nincs mit:-)
Sikerult legalabb megoldani, amit szerettel volna?
- A hozzászóláshoz be kell jelentkezni