我有一个包含管道分隔数据的文件。我想打印只有 5 列的行。我尝试了以下。这是行不通的。它只是打印所有行。你能让我知道如何正确地做到这一点吗?谢谢你!
文件内容:
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
这里我试图打印只有 5 列的行。
$ 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
输出显示 4 行中的 2 行具有超过 5 列。
$ gawk -F "|" '{print NF}' data3
6
5
5
6
答案1
NF=5
是一个赋值,测试值是用 完成的==
。像这样:
awk -F \| 'NF==5' data3