从文件中找到球队数量

从文件中找到球队数量

我最近才开始学习 bash,需要从文件中找出团队数量,该文件可以从此链接

以下是一个示例

在此处输入图片描述

我知道我必须使用 cut 和 uniq,但我不知道如何使用。如能得到任何帮助,我将不胜感激。

答案1

假设teamsfile文件包含你想要的球队总数的数据,那么

1. 使用cutuniq

tail -n +2 teamsfile | cut -d "," -f2 | uniq | wc -l
  • tail -n +2 团队文件 - 打印文件但不打印第一行(在您的情况下是值的标签)

  • 剪切-d“,”-f2- 剪切用逗号分隔的第二个字段(作为分隔符)

  • 独特 - 仅显示唯一值。(也可以使用sort -u

  • 厕所 - 打印输出中的行数

或者,您可以使用sedawk。它们在这样的任务中非常有用。

2.使用grep以避免打印第一行。

cat teamsfile | grep -v "Team" | cut -d "," -f2 | sort -u | wc -l
  • grep -v- 否定对字符串“Team”的搜索

答案2

您可以简单地使用 awk 打印所有团队,然后找到计数。

grep -v "Team" teamsfile | awk -F',' '{print $2}' | sort -u | wc -l

这句话会告诉你队伍的数量。

解释::

grep :将选择其中包含“Team”关键字的所有行。

awk :它根据“逗号”换行并打印包含团队名称的第二列。

sort -u :它将首先按字母顺序对所有球队名称进行排序,然后只保留唯一的记录。

wc -l :它将提供数据存在的行数,在上面的例子中,是唯一的团队名称的数量。

相关内容