检查 csv 文件中的空列

检查 csv 文件中的空列

我有一个具有以下语法的分隔文件:

A|B|C|D|E 

如何查找每行第三列中具有 null(空)值的记录数?

答案1

awk

awk -F '\\|' '$3==""' file.txt
  • -F '\\|'将字段分隔符设置为文字|

  • $3==""检查第三个字段是否为空,如果是则打印记录(默认)

例子:

% cat file.txt
A|B|C|D|E
A|B|C|D|E
A|B||D|E

% awk -F '\\|' '$3==""' file.txt
A|B||D|E

实际上,您不需要转义,因为当只有一个字符用作字段分隔符时,它是按字面意思处理的;感谢@Stéphane Chazelas:

awk -F '|' '$3==""' file.txt

答案2

单程:

awk -F"|" '{if (length($3) == 0) ++count } END { print count }' yourfile

相关内容