Linux bash显示每个变量计数的所有行

Linux bash显示每个变量计数的所有行,linux,bash,Linux,Bash,我不是bash忍者,我有一个文件,上面有如下行: timestamp1 value1 value2 value3 username host 我想打印所有的值3和值2,这将是不同的每次主机是相同的,让我们说X倍。我知道如何为每个主机grep和awk列,但是我不知道如何设置变量的计数 例如,如果主机在文件上出现5次,我想打印这5行。但这里的问题是我不知道主机,所以我需要在变量中指定它,并以某种方式计算它?一行解决方案 假设您的文件名为lst以下是一行: grep -Ff <(awk '{p

我不是bash忍者,我有一个文件,上面有如下行:

timestamp1 value1 value2 value3 username host
我想打印所有的值3和值2,这将是不同的每次主机是相同的,让我们说X倍。我知道如何为每个主机grep和awk列,但是我不知道如何设置变量的计数

例如,如果主机在文件上出现5次,我想打印这5行。但这里的问题是我不知道主机,所以我需要在变量中指定它,并以某种方式计算它?

一行解决方案 假设您的文件名为lst以下是一行:

grep -Ff <(awk '{print $6}' lst | sort | uniq -c | awk '$1 == 5 {print $2}') lst
会发生什么

从文件中提取所有主机名 对于每个主机名,计算发生的次数 仅打印正好出现5次的主机名 Grep文件以查找筛选出的主机名 注:

主机名不得出现在其他字段中,否则会导致误报。 输出是按顺序排列的,因为原始文件可能未按主机名排序。但是,您可以在命令末尾添加|排序。
请创建一个输入、您尝试的代码以及实际和预期的输出的列表。在这里添加您所说的您已经知道的内容。我们可以帮助您继续。我提供的示例是ok,意思是格式与此完全相同。我想看到的是包含主机的所有行,主机在文件中出现的次数超过X,比如说5次。