Ich habe eine Datei, die durch Pipes getrennte Daten enthält. Ich möchte die Zeilen drucken, die nur 5 Spalten haben.
Ich habe das Folgende versucht. Es funktioniert nicht. Es druckt einfach alle Zeilen. Könnt ihr mir bitte sagen wie ich es richtig mache. Vielen Dank!
Inhalt der Datei:
10413300|Maintenance Stock Clerk A - Michelle Hanley | Michelle Hanley (1680654)|Filled||10402112
10413301|Maintenance Stock Clerk - dasda|space||10402122
MOM Parkcentrum F;Alkotás u. 53.||34535|34345|asd
Business Center Naberezhnaya Tower" Block C"|||3453|ffg|345
Hier versuche ich Zeilen zu drucken, die nur 5 Spalten haben.
$ gawk -F "|" '{ if (NF=5) print $0 }' data3
10413300 Maintenance Stock Clerk A - Michelle Hanley Michelle Hanley (1680654) Filled
10413301 Maintenance Stock Clerk - dasda space 10402122
MOM Parkcentrum F;Alkotás u. 53. 34535 34345 asd
Business Center Naberezhnaya Tower Block C 3453 ffg
Die Ausgabe zeigt, dass 2 von 4 Zeilen mehr als 5 Spalten haben.
$ gawk -F "|" '{print NF}' data3
6
5
5
6
Akzeptierte Antwort:
NF=5
ist eine Zuweisung, das Testen von Werten erfolgt mit ==
. So:
awk -F | 'NF==5' data3