如何计算第二列在文本文件中出现的次数

时间:2016-10-13 03:12:56

标签: count text-files

我有一个包含2列的文本文件,我需要知道如何计算第二列在我的文件中出现的时间,例如:

i3019225    ^b3340515
i3019226    ^b3340515
i3019227    ^b3340515
i3019238    ^b3340524
i3019239    ^b3340524
i3019969    ^b3341058
i3020650    ^b3341525
i3020650    ^b3341525
i3020651    ^b3341525
i3020651    ^b3341525
i3020652    ^b3341525
i3020652    ^b3341525
i3020653    ^b3341525
i3020653    ^b3341525
i3020654    ^b3341525
i3020654    ^b3341525
i3020655    ^b3341525
i3020655    ^b3341525
i3020656    ^b3341525
i3020656    ^b3341525
i3020657    ^b3341525
i3020657    ^b3341525

1 个答案:

答案 0 :(得分:0)

你的问题并没有真正表达得太好,但是,在将上面的确切示例字符串复制并粘贴到名为“test”的文件中时,我跑了:

sed -e 's/ i/\'$'\n/g' test | sed 's/^i//g' | sed -e 's/[0-9]* ^//g' | sort | uniq -c

产生了这个输出:

3 b3340515 2 b3340524 1 b3341058 16 b3341525

我非常肯定会回答你的问题。

免责声明:这是在Mac OSX Bash上使用的,而且该命令也特定于您提供的示例。这里的关键是一个可能的解决方案是使用sed来标识所需的“列”,因此它是文件中每一行的唯一数据点,然后对其执行uniq -c输出以查看每个唯一数据点发生的次数。