Ich habe datafile
Datei bekam, die mehr oder weniger etwas wie folgt aussieht:Wie drucke ich die letzte Spalte aus einer bestimmten Zeile?
*** some text ***
Results
1 50
2 -75
3 80
*** some text ***
Was ich möchte, ist tun:
- Suchen Sie die Zeile, die die Zeichenfolge „Ergebnisse“ enthält.
- Listen Sie diese drei Ergebnisse auf, aber nur die letzte Spalte ist signifikant.
- Nur die positiven anzeigen.
Ich habe versucht, mein Problem mit awk
Befehl zu lösen, die für jedes Ergebnis sieht wie folgt aus:
res1=$(awk '/Results/{nr[NR+1]}; NR in nr' datafile | awk '{print $NF}')
Ich hoffte, dass die ersten positiven Ergebnisse erhalten von:
If [ $res1 -gt 0 ]; then
echo "$res1"
fi
Aber statt des erwarteten Ergebnisses habe ich den Fehler Integer expression expected
. Daraus ergibt sich, dass die Variable res1
kein numerischer Wert ist. Irgendeine Idee, wie man es richtig definiert?
wenn 'res1 =" 50 \ n-75 \ n80 "', die if-Anweisung wird nicht verstehen. Probieren Sie alles in einem awk Anruf aus. –