计算第 230 行/行中值为 0 的列数

计算第 230 行/行中值为 0 的列数

我想计算第 230 行中值为 0 的列数,该怎么做?

这给出了第 230 列中 0 的数量:

awk ' $230==0{c0++};END{print "Missing: "c0;}' file

但我想要第 230 行中的 0 数量

答案1

perl -lane '$. == 230 && print scalar grep /^0$/, @F'

答案2

迭代第 230 条记录的字段,检查是否有0,如果有则记录计数:

awk 'NR==230 {for(i=1; i<=NF; i++) if ($i==0) {c++}; print c; exit}' file.txt

例子:检查第二条记录:

% cat file.txt
1 2 3 5
0 0 2 3

% awk 'NR==2 {for(i=1; i<=NF; i++) if ($i==0) {c++}; print c; exit}' file.txt
2

相关内容