このようなファイルがあります。
1|2345|John|Smith
2|4563||Smith
3|5968||Doe
4|896|Rick|Lawson
5|889||Eddy
3番目の列にデータを含む行数を計算する方法は?
答え1
awk -F '|' 'length($3) { ++count } END { print count }' < input
サンプル入力では、結果は次のようになります。
2
フィールド区切り記号をパイプに設定し、3番目のフィールドcount
でnull以外の値を持つ行を増やすように機能します。ファイルの最後に最終的なcount
。
答え2
ソフトウェアツールの使用:
cut -d '|' -f 3 input | wc -w
列 3 には単語が 1 つだけあり、空白がないとします。空白がある場合は、次のように動作します。
cut -d '|' -f 3 data | grep -c .