使用“uniq -c”后提取“计数值”

使用“uniq -c”后提取“计数值”

我正在使用大量 NBA 数据来处理 bash 管道。我正在尝试计算克利夫兰骑士队球员的频率,现在我的命令看起来像cut -d "," -f 2 nba2017-roster.csv | grep "CLE" | uniq -c。输出是15 "CLE".

我想要的是15,而不是"CLE"。我怎样才能做到这一点?谢谢!

答案1

对于 UNIX,通常有不止一种方法可以实现这一点。

史蒂芬提及最直接的方法,就是降低赞成uniq -c只用 grep 来计数:

... | grep -c CLE

如果你真的想保持uniq -c命令行的一部分,那么您要么需要找到一种方法来删除“CLE”,要么只保留数字这uniq实用程序已指定以以下格式返回计数:

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

所以提取的(许多)选项之一<number of duplicates>是:

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

...它告诉 awk 在空白处分割行然后打印第一个字段。

删除创建的数字命令“uniq -c”作为你问题的推论。

相关内容