我有一个行数为N的文件
例如

This/is/workshop/1
This/is/workshop/2
This/is/workshop/3
This/is/workshop/4
This/is/workshop/5


如何使用uniq命令获得以下结果:

This/is/workshop/ =5

最佳答案

好的,这里有几个工具可供您使用。熟悉grep,cut和uniq。我执行此类操作的过程可能并不理想,但是鉴于您的原始问题,我将尝试根据您给出的文件中的行对过程进行调整。

首先,您需要grep文件以获取相关字符串。然后,您可以将其传递给剪切,通过指定定界符以及字段数来声明要包括的字段。最后,您可以将其通过管道传递给uniq进行计数。

例:

file.txt的内容

This/is/workshop/1This/is/workshop/2This/is/workshop/3This/is/workshop/4This/is/workshop/5

使用grep,cut和uniq

$ grep "This/is/workshop/" file.txt | cut -d/ -f1-3 | uniq -c 5 This/is/workshop

要指定剪切中的定界符,请使用-d标志和要使用的定界符。每个字段都是定界符之间的内容,从1开始。为此,我们需要前三个。然后只需将其通过管道传递给uniq即可获得所需的计数。

10-07 17:46