是否可以使用 grep 逐个文件确定特定单词在多个文件中出现的次数
“-c”选项,但这会返回特定单词出现的匹配行数 - 并且不会起作用,因为一行可能包含单词的多个实例
例如 :
文件A.txt:约12345个单词和风险和风险
文件 B.txt:和 12345 然后是另一个风险
文件 C.txt:虚拟单词
我将运行grep -l "12345" *.txt | xargs grep ?????? risk -
预期输出 A.txt:2 B.txt:1
是否可以使用 grep 逐个文件确定特定单词在多个文件中出现的次数
“-c”选项,但这会返回特定单词出现的匹配行数 - 并且不会起作用,因为一行可能包含单词的多个实例
例如 :
文件A.txt:约12345个单词和风险和风险
文件 B.txt:和 12345 然后是另一个风险
文件 C.txt:虚拟单词
我将运行grep -l "12345" *.txt | xargs grep ?????? risk -
预期输出 A.txt:2 B.txt:1
ripgrep 原生支持此功能:
否则,按照以下步骤编写 bash 脚本:
示例运行:
像这样的东西会计算单词
使用 GNU awk 处理多字符
RS
、ENDFILE
和\s
反手[[:space:]]
:如果愿意,您可以轻松地将其转换为计算每个文件中所有单词的出现次数: