首页 > 解决方案 > 行号与 unix 中的行数不匹配。这怎么可能?

问题描述

我有一个大的 csv 文件“test.csv”,其行数是:

$ wc -l test.csv
2154868

而如果我计算该文件中作为日期列的第一列,它的计数是:

$ cat test.csv | grep -w "2021-06-04" | wc -l
2154855

由于查询,日期代码字段永远不会为空,并且始终相同。那么行数怎么会如此不同呢?

样本文件数据:

DATECODE|SKUCODE|SUPPLIERCODE|SUP_NAME|PRIMARY_SUPPLIER_IND|IS_VPN|IS_DIFFCODE|IS_DIFF_DIFFCODE|IS02_DIFF03_DIFFCODE|IS_DIFF04_DIFFCODE
2021-06-04|106|02971|AAAAA, INC.|Y|58730|2X (2X)|20MM (20MM)|SILVER (SILVER)|GLOSS (GLOSS)
2021-06-04|119|02080|BBBB|Y|CI400||||
2021-06-04|1194|02080|BBBB|Y|AT419||||

标签: shellcsv

解决方案


运行grep -vw "2021-06-04" test.csv以查看被过滤掉的行。


推荐阅读