このようなファイルがあります
1|2345|John|Smith
2|4563||Smith
3|5968||Doe
4|896|Rick|Lawson
5|889||Eddy
3番目の列にデータがある行の数を数えるにはどうすればよいですか?
awk -F '|' 'length($3) { ++count } END { print count }' < input
サンプル入力では、次の結果になります。
2
フィールドセパレータをパイプに設定することで機能し、3番目のフィールドに空でない値がある行でcount
をインクリメントします。ファイルの最後に、最後のcount
を出力します。
ソフトウェアツールの使用:
cut -d '|' -f 3 input | wc -w
これは、列3がスペースのない1つの単語のみであることを前提としています。スペースがあるかもしれない場合、これはうまくいくはずです:
cut -d '|' -f 3 data | grep -c .