Hirdetés

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

  • beleszólok
    senior tag

    Sziasztok!

    A beadandom lenne az alabbi script, aminek ket parameter (egy karakterlanc es egy fajlnev) beolvasasa utan meg kenevizsgalnia, hogy szerepel e a beolvasott karakterlanc az adott fajlban.
    Azonban valamiert nem talalja a fajlt. Mi lehet a gond? o.O

    echo "Kerem a keresendo karakterlancot:\n"
    read karlanc
    echo "Kerem a fajlnevet:\n"
    read fajlnev
    if grep $karlanc $fajlnev 1
    then
    echo "Tartalmazza a fajl a karakterlancot\n"
    else
    echo "Nem tartalmazza a fajlnev a karakterlancot"
    fi

    Amivel probaltam, az a valami.txt fajl es az asd szoveg. A txt tartalmazza ezt, kozvetlenul a script fajl melle van elhelyezve.

    Az az "1" mi ott a végén?
    Ugyanis ez így egy 1 nevű fájlt keres, arra üzen, hogy nem találja.
    Egyébként javasolnám, hogy legalább a keresendő mintát tedd idézőjelek közé, mert ha szóköz vagy egyéb spec. karakter kerül bele, az gondot okozhat.

    Ha netán az 1 eredetileg valamiféle átirányításhoz tartozott volna, akkor helyette inkább &>/dev/null lenne célszerű (stdout, stderr átirányítása a null eszközre - feltéve, hogy bash-ről van szó)

    Szóval valahogy így:
    if grep "$karlanc" $fajlnev &>/dev/null

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