Ich werfe mal noch
Code:
line=1
target_line=0
while read line_contents; do
if [ $line -eq $target_line ]; then
echo $line_contents | wc -w
fi
echo $line_contents | grep "(FPL" > /dev/null
if [ $? -eq 0 ]; then
# linie mit "(FPL" gefunden
target_line=$(( $line + 3 ))
fi
line=$(( $line+1 ))
done < input
in den Raum.
In dieser Lösung wird die Datei nur einmal eingelesen; allerdings fehlt das Erkennen, ob die folgende Zeile auch noch zum Resultat gehört, dies sollte aber relatv einfach möglich sein.
PS: $(( $line+1 )) ist bash Funktionalität für einfache Rechenoperationen.
Lesezeichen