我有一个具有以下语法的分隔文件:
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