当前位置: 首页 > 面试题库 >

如何从一个文件找到另一个文件中的单词?

堵宪
2023-03-14
问题内容

在一个文本文件中,我有150个字。我还有另一个文本文件,大约有100,000行。

如何检查属于第一个文件的每个单词是否在第二个文件中?

我曾考虑过使用grep,但找不到如何使用它来阅读原始文本中的每个单词。

有没有办法做到这一点awk?还是其他解决方案?

我尝试使用此shell脚本,但它几乎匹配每一行:

#!/usr/bin/env sh
cat words.txt | while read line; do  
    if grep -F "$FILENAME" text.txt
    then
        echo "Se encontró $line"
    fi
done

我发现的另一种方法是:

fgrep -w -o -f "words.txt" "text.txt"

问题答案:

您可以使用grep -f

grep -Ff "first-file" "second-file"

否则匹配完整的单词:

grep -w -Ff "first-file" "second-file"

更新: 根据评论:

awk 'FNR==NR{a[$1]; next} ($1 in a){delete a[$1]; print $1}' file1 file2


 类似资料:
  • 问题内容: 这是我的第一个文件: 我想要这个配置变量在另一个文件中,所以我在另一个文件中所做的是: 但这给我一个错误。 请提出我该怎么办? 问题答案: 您需要的是module.exports 出口产品 在当前模块的所有实例之间共享并可以通过require()访问的对象。export与module.exports对象相同。有关更多信息,请参见src / node.js。导出实际上不是全局的,而是每个

  • 问题内容: 我正在使用以下外壳程序脚本将一个文件的内容查找到另一个文件中: 我正在执行脚本,但未显示CSV文件中的内容。我的contents.txt文件还包含CSV文件中的数字,例如或。我的工作有什么问题吗? 问题答案: 本身能够做到。只需使用标志: 是每行包含一个模式的文件;并且是要在其中进行搜索的东西文件。 请注意,即使每行的内容看起来像一个正则表达式,也要强制将每行视为一个模式,您应该使用f

  • 如何使用java将文件从一个文件夹复制到另一个文件夹?我试图使用 如果目标文件夹不包含具有相同名称的文件,则此操作有效。如果我尝试将文件粘贴到文件夹中,它会引发IOException。然而,有什么办法可以解决这个问题吗?可能我只想将自动重命名为pasteItem(1)或类似名称的文件粘贴。请建议。 事实上,如果同名文件已经存在,我将为该文件获得一个新名称。我不知道如何复制文件,然后重命名。如果我先

  • 我们正在努力从Maven迁移到Gradle。不幸的是,我们还有几个战争复盖物要处理。

  • 我也在尝试用Python创建一个脚本来读取文本文件。在文本文件的每一行上,都有一个文件名。我希望脚本在文本文件的每一行中循环,并将带有文件名的文件从循环的当前行、从源文件夹移动到特定的目标。 希望这段代码能更准确地说明我在做什么: 我想把文件的内容和特定的文件名放到一个数组中,但是我有62700个可能的文件名,所以我想如果它只是在循环到每一行时移动文件,那么它会更有效率吗? 我还想到了使用迭代器(

  • 如何将一个文本的值追加到另一个文本文件中的特定位置? One.txt Second.txt 需要将second.txt中的one.txt值放置在{}中提到的名称所在的位置。 输出: