行230 /行の値が0の列数を計算します。

行230 /行の値が0の列数を計算します。

230行目で値が0の列数を数えたいです。どうすればいいですか?

これは列230のゼロ個数を与える。

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

例:2番目のレコードを確認してください。

% 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

関連情報