我有一个包含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
答案 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
输出以查看每个唯一数据点发生的次数。