我有两个文本文件,File1 如下所示:

apple
dog
cat
..
..

和 File2 看起来像这样:
appledogtree
dog
catapple
apple00001
..
..

我想计算 File2 中 File1 中单词列表的出现次数,并得到如下结果:

(文件 1 中的单词,文件 2 中的出现次数)
apple 3
dog 2
cat 1

如何使用 Bash 命令行执行此操作?

最佳答案

您可以使用 fgrep 有效地执行此操作:

fgrep -of f1.txt f2.txt | sort | uniq -c | awk '{print $2 " " $1}'

给出这个输出:
apple 3
cat 1
dog 2
  • fgrep -of f1.txt f2.txt 根据 f1.txt
  • 中的模式提取 f2.txt 的所有匹配部分( -o 选项)
  • sort | uniq -c 统计匹配模式
  • 最后,awk 交换 uniq -c 输出中的单词顺序
  • 关于bash - 计算文本文件中单词列表的出现次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41928918/

    10-14 17:21
    查看更多