我有一个这样的文件
1|2345|John|Smith
2|4563||Smith
3|5968||Doe
4|896|Rick|Lawson
5|889||Eddy
如何计算第三列中有数据的行数?
答案1
awk -F '|' 'length($3) { ++count } END { print count }' < input
在样本输入上,结果是:
2
它的工作原理是将字段分隔符设置为管道,然后count
在第三个字段中具有非空值的行上递增。在文件末尾,它打印最终的count
.
答案2
使用软件工具:
cut -d '|' -f 3 input | wc -w
假设第 3 列只有一个单词,没有空格。如果可能有空格,这应该有效:
cut -d '|' -f 3 data | grep -c .