Ubuntu Linux
  • hanta
    #8121
    Sziasztok!

    Remélem itt vannak olyanok, akik profik bash-ból :)

    Egy kis segítséget kérnék, ha lehet. Suliban van egy beadandó feladatom, aminek vasárnapig kész kell lennie, de sehogy sem megy.

    ---------------------------------------------------------------------------------------------------------------------------------------------

    A feladat:

    F3_1. Írjon bash scriptet, amely megállapítja, hogy a paraméterül kapott syslog fájl átlagosan napi hány kernel bejegyzést tartalmaz Február hónapban!

    A program ellenőrizze hogy pontosan 1 paramétert kapott-e, ".log"-ra végződik-e és hogy olvasható fájl-e. Ha nem megfelelő a paraméterek száma, végződése, jogosultsága, írjon ki rövid ismertetőt a használatról és térjen vissza hibás (1) kóddal (exit 1).

    Február 28 napos. Az átlagnál azokat a napokat is számoljuk amikor nem volt bejegyzés. (Minden napra adjuk meg a kernel bejegyzések számát és ezt átlagoljuk.)
    Egy minta syslog kernel bejegyzés igy néz ki:
    Feb 17 13:14:38 ipari1 kernel: [ 0.000000] Initializing cgroup subsys cpuset
    Az első két mező tartalmazza a dátumot. Egy kernel bejegyzés mindig tartalmazza a "kernel:" mintát. Az eredmény egész számot (az átlag egész része elég) írja ki a log.txt fájlba.

    A feladat megoldása során minden tanult segédprogramokat használhat, ezen túl szükség esetén használjon vezérlési szerkezeteket, változókat, csővezetéket, csatorna átirányítást, parancsbehelyettesítést, parancslistát.

    A feladatot a /tmp/syslog.log fájlon tesztelje!

    A program paraméterei:

    1. pozícionális paraméter: log file elérési út

    pl:

    ./run.sh /tmp/syslog.log

    Az eredmény log.txt tartalma:
    343

    ---------------------------------------------------------------------------------------------------------------------------------------------

    Ebből az elejét már megcsináltam, mikor ellenőriznie kell a dolgokat, maga a programrész nem megy. Nekem nem jön ki ez a 343-as eredmény. Sőt igazán azt sem értem pontosan, hogy most miket is akar átlagoltatni.

    Mellékelem ezt a bizonyos syslog.log fájlt is: syslog.log

    Előre is köszi a választ!