我正在使用大量 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”作为你问题的推论。