1 2 3 4
3 1 4 2
1 4 3 2
4 2 1 3
Wie kann ich alle Zeilen ausdrucken, auf denen sich ein2in der zweiten Spalte.
Antwort1
Verwenden von awk
(oder seinem Cousin gawk
):
gawk '$2==2 {print $0}' inputfile
In awk
Spalten wird ein angegeben $
, wobei $1
die erste Spalte, $2
die zweite usw. die ganze Zeile ist $0
. Dieses Beispiel lautet also: Wenn Spalte 2 gleich 2 ist, drucke die ganze Zeile.
Bearbeiten: wie devnull unten sagte:
gawk '$2==2' inputfile
reicht aus. Um die Zeilen mit 2 in der zweiten Spalte und 4 in der letzten auszudrucken $NF
, verwenden Sie , was für die Anzahl der Felder (also die letzte Spalte) steht:
gawk '$2==2 && $NF==4' inputfile