Ho un file che contiene dati delimitati da pipe. Voglio stampare le righe che hanno solo 5 colonne.
Ho provato quanto segue. Non funziona. Stampa semplicemente tutte le linee. Potresti per favore farmi sapere come farlo correttamente. Grazie!
Contenuto del file:
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
Qui sto cercando di stampare righe che hanno solo 5 colonne.
$ 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
L'output mostra che 2 righe su 4 hanno più di 5 colonne.
$ gawk -F "|" '{print NF}' data3
6
5
5
6
Risposta accettata:
NF=5
è un compito, il test dei valori viene eseguito con ==
. In questo modo:
awk -F | 'NF==5' data3