( khiraly | 2025. 05. 05., h – 15:53 )

Írj egy olyan bash függvényt ami a megadott file útvonalat megnyitja, és szöveg fileként felolvassa, és ahol van benne 'alma' string ott echo -za ki az adott sor utolsó szavát."

 

A kérdésed így hangzik helyesen angolul:
"Write a bash function that opens a specified file path, reads it as a text file, and for every line that contains the word 'alma', it echoes the last word of that line."

Itt van egy ilyen bash függvény:

print_last_word_with_alma() {
    local filepath="$1"

    if [[ ! -f "$filepath" ]]; then
        echo "File not found: $filepath"
        return 1
    fi

    while IFS= read -r line; do
        if [[ "$line" == *alma* ]]; then
            # Split the line into words and print the last one
            last_word=$(echo "$line" | awk '{print $NF}')
            echo "$last_word"
        fi
    done < "$filepath"
}

Használat:

print_last_word_with_alma "/elérési/út/file.txt"

Ez a függvény:

  • Ellenőrzi, hogy létezik-e a megadott fájl.

  • Soronként olvassa be a fájlt.

  • Ha a sor tartalmazza az 'alma' szót, kiírja a sor utolsó szavát ($NF az AWK-ban az utolsó mezőt jelenti).

Szükséged van valamilyen extra funkcióra, például kis- és nagybetűk figyelmen kívül hagyása?