NF=5
é uma atribuição, os valores de teste são feitos com ==
. Assim:
awk -F \| 'NF==5' data3
Eu tenho um arquivo que contém dados delimitados por pipe. Eu quero imprimir as linhas que possuem apenas 5 colunas. Eu tentei o abaixo. Não funciona. Ele simplesmente imprime todas as linhas. Você poderia por favor me avisar como fazer isso corretamente? Obrigada!
Conteúdo do arquivo:
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
Aqui estou tentando imprimir linhas com apenas 5 colunas.
$ 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
A saída mostra que 2 de 4 linhas têm mais de 5 colunas.
$ gawk -F "|" '{print NF}' data3
6
5
5
6
NF=5
é uma atribuição, os valores de teste são feitos com ==
. Assim:
awk -F \| 'NF==5' data3
Tags awk shell shell-script gawk