「uniq -c」を使用した後、「カウント値」を抽出します。

「uniq -c」を使用した後、「カウント値」を抽出します。

私は多くのNBAデータを含むbashパイプラインで作業しています。 Cleveland Cavaliers選手の頻度を計算しようとしていますが、今私のコマンドは次のようになりますcut -d "," -f 2 nba2017-roster.csv | grep "CLE" | uniq -c。出力はです15 "CLE"

私が望むのは15、いいえです"CLE"。どうすればいいですか?ありがとうございます!

ベストアンサー1

UNIXでは、通常これを行う方法はいくつかあります。

スティーブン言及する最も直接的な方法は減らすgrepを使って計算することを好みますuniq -c

... | grep -c CLE

本当に欲しいなら維持するコマンドuniq -cラインの一部である場合は、「CLE」を削除する方法を見つけるか、数字だけを保持する必要があります。uniq指定されたユーティリティ次の形式で数を返します。

"%d %s", <number of duplicates>, <line>

したがって、抽出する(多くの)オプションの1つ<number of duplicates>は次のとおりです。

.... | uniq -c | awk '{print $1}'

...スペースで行を分割し、最初のフィールドを印刷するようにawkに指示します。

バラより生成された数値コマンド「uniq -c」を削除します。あなたの質問に対する結果です。

おすすめ記事