我需要在 .csv 文件中找到 10 个最常用的词。该文件的结构使得每一行都包含逗号分隔的单词。如果同一个词在同一行中重复出现多次,则应计为一个。所以,在下面的例子中:
green,blue,blue,yellow,red,yellow
red,blue,green,green,green,brown
Run Code Online (Sandbox Code Playgroud)
绿色、蓝色和红色应计为 2,黄色和棕色应计为 1
我知道以前有人问过类似的问题,一种解决方案是:
<file.csv tr -c '[:alnum:]' '[\n*]' | sort|uniq -c|sort -nr|head -10
Run Code Online (Sandbox Code Playgroud)
但这将计算一个单词出现在同一行中的次数,如下所示:
4 green
3 blue
2 yellow
2 red
1 brown
Run Code Online (Sandbox Code Playgroud)
这实际上不是我需要的。有什么帮助吗?此外,我将感谢对该命令的简短解释,以及为什么我在类似问题中找到的命令不能满足我的需要。
我在 Linux 上有一个文件,其中包含数千个分子的坐标。每个分子都以包含始终相同模式的一行开始:
@<TRIPOS>MOLECULE
Run Code Online (Sandbox Code Playgroud)
然后继续其他行。我想将文件拆分为多个文件,每个文件包含一定数量的分子。什么是最简单的方法来做到这一点?