【问题标题】:How to count occurrence of list of words in the first n lines of multiple files?如何计算多个文件的前 n 行中单词列表的出现次数?
【发布时间】:2018-08-16 01:37:02
【问题描述】:

我目前有一个术语列表 - words.txt,每个术语在一行,我想计算在同一目录中多个 csv 文件的前 500 行中存在的所有这些术语的总出现次数。

我目前有这样的事情:

grep -Ff words.txt /some/directory |wc -l

我怎样才能让程序为每个文件显示每个文件的前 500 行的计数?我必须用 500 行创建新文件吗?我该如何处理大量原始文件?我对编码和研究数据集非常陌生,因此非常感谢任何帮助!

编辑:我希望它显示类似这样的内容,但对于每个文件:

grep -Ff words.txt list1.csv |wc -l
/Users/USER/Desktop/FILE/list1.csv:28

【问题讨论】:

  • 如果在单个输入文件、words.txt 片段和预期结果上显示完整的循环会更好

标签: shell terminal grep macos-sierra head


【解决方案1】:

这对我有用。

head /some/directory/* -n 100 | grep -Ff 单词.txt | wc -l

Sample Result: 38

【讨论】:

  • 它对我不起作用。使用指定的目录路径运行该代码行后,我会收到以下错误:head: -n: No such file or directory head: 5: No such file or directory 11
  • 你能在你的终端运行这个命令然后给我看结果吗? lsb_release -a
  • 请给我操作系统。是linux,mac,solaris吗?什么是版本?
  • macOS High Sierra,版本 10.13.3
  • 你在 /usr/bin 中有一个名为 head 的二进制文件吗?可能你的系统中有一个名为“head”的二进制文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
相关资源
最近更新 更多