我想计算第 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