Keresés

Új hozzászólás Aktív témák

  • marky mark

    újonc

    válasz Sztonos #1979 üzenetére

    Én addig jutottam ezzel, hogy megszámolni meg tudom find nélkül, a bennük lévő sorok átlagos száma nem akar összejönni.

    read=0
    if [ -r $1 ]
    then
    read=`ls $1 | wc -l`
    fi
    echo $read > log.txt

    A futtathatót ugyanígy kéne, csak kéne egy for is, ami utána végigmegy rajtuk, és wc-vel megszámolja a sorokat, majd a végén egy átlagolás (sorok száma/fájlok száma).
    De lehet, hogy eleve for-ral kéne kezdeni, tesztelni futtathatóra, és ha az, akkor számolni, a benne lévő sorok számát pedig hozzáadni egy változó értékéhez.

  • marky mark

    újonc

    válasz dabadab #1959 üzenetére

    Jogos! A kérdésem az lenne, hogy egyáltalán annak, amit legépeltem, van-e valami értelme, illetve szeretnék segítséget kérni ahhoz, hogy biztosan legyen értelme. :)

  • marky mark

    újonc

    Sziasztok! Az alábbi két problémában kérném a segítségeteket. Új vagyok Linuxon, és még nem megy valami jól.

    1. problémám: Írjon bash szkriptet amely kiírja a log.txt-be az első paraméterben megadott könyvtárban levő futtatható fájlok sorainak átlagos számát, a második paraméterben megadott könyvtárban levő olvasható fájlok számát, végül, melyik szám a nagyobb (1, ha az első, 2, ha a második a nagyobb, 0, ha egyenő).
    Ellenőrizze, hogy pontosan két paramétert kapott-e, írjon ki hibaüzetet ha nem, és lépjen ki.
    exit használata: exit 1 -> 1-es visszatérési értéket ad, és kilép a programból. A feladat megoldása során a "test", "expr", "wc", "ls", "cat", "echo", "for","while", "if" , "exit" segédprogramokat használja, ezeken felül parancsátirányításokat, változókat és csővezetéket is használhat.

    2. problémám: Írjon bash scriptet, amely a pozícionális paraméterben megadott fájlon dolgozik.
    Ellenőrizze, hogy pontosan 1 pozícionális paramétert kapott-e a program, ha nem, írjon ki rövid ismertetőt a használatról és térjen vissza hibás (1) kóddal. Ellenőrizze, hogy a megadott fájlnév „.log”-ra végződik-e. Ha nem, írjon ki rövid ismertetőt a használatról és térjen vissza hibás (1) kóddal. A paraméterül kapott fájl létezését és olvashatóságát ellenőrizze, ha nem olvasható vagy nem létezik térjen vissza hibás
    (2)-es kóddal. A fájl szűrésével állapítsa meg, hogy 2008-07-21 -én 9 óra 21 perc és 9 óra 58 perc között mennyi a legtöbb egymást követő „status” bejegyzések száma!

    Az első probléma eddig van meg (az elején az ellenőrzés otthon megvan, az jó)

    #!bin/bash

    a = for i in $(test -r); do // itt még az átlagolással nem vagyok meg.
    wc -l $i | wc -l > log.txt
    done

    b = for k in $(test -x); do
    wc -l $k >> log.txt
    done

    if
    expr a > b then echo 1 >> log.txt
    expr a < b then echo 2 >> log.txt
    else echo 0 >> log.txt

    A 2. probléma tesztje létezésre és olvashatóságra:

    if [ -f -r $2 ]; then
    else
    exit 1
    fi

Új hozzászólás Aktív témák