Bash代码字在文本目录中的出现计数
我试图找出如何计算每个单词出现在这些文件中的数量。例如,我有一个包含10个菜谱文本的目录,我希望能够找出,例如,有多少文本中的“pepper”一词出现,结果像“8 pepper” 我知道如何计算字数之类的,但这有点让我不知所措,我想,我真的很感谢你的帮助 作为我所说的脉络的一个例子,这是我想出的一个单词计数命令Bash代码字在文本目录中的出现计数,bash,shell,unix,word,Bash,Shell,Unix,Word,我试图找出如何计算每个单词出现在这些文件中的数量。例如,我有一个包含10个菜谱文本的目录,我希望能够找出,例如,有多少文本中的“pepper”一词出现,结果像“8 pepper” 我知道如何计算字数之类的,但这有点让我不知所措,我想,我真的很感谢你的帮助 作为我所说的脉络的一个例子,这是我想出的一个单词计数命令 cat test.txt | tr '[A-Z]' '[a-z]' | tr -d '[:punct:]' | tr ' ' '\n' | sort | uniq 考虑以下几点 f
cat test.txt | tr '[A-Z]' '[a-z]' | tr -d '[:punct:]' | tr ' ' '\n' | sort | uniq
考虑以下几点
find <directory path> -name "*pepper*" -type f |wc -l
考虑以下几点
find <directory path> -name "*pepper*" -type f |wc -l
这个
42
16 add
9 the
8 jalapeño
8 pepper
7 lot
8
42
16 add
9 the
8 jalapeño
8 pepper
7 lot
8
您可能希望根据您对文件的期望来替换或改进tr命令,或者限定查找只匹配具有特定名称模板的文件,等等。关于
grep-l
如何?例如,grep-l pepper*
将列出包含“pepper”的所有文件grep-l pepper*| wc-l
只会告诉您有多少这样的文件。那么grep-l
呢?例如,grep-l pepper*
将列出包含“pepper”的所有文件grep-l pepper*| wc-l
只会告诉您有多少这样的文件。Ahh这是有道理的,但不幸的是sed命令对我不起作用,因为我在mac上的终端中。有没有办法用猫来代替你知道吗?另外,命令行将如何更改以查找多个文件中出现的所有单词的出现计数(仅适用于一个文件)?我只是用它作为一个例子来查找所有带pepper的单词并计数尝试“grep-o-E'pepper”“my|u file”“| wc-l”让我换一句话,如何计算目录中所有文件中单词的出现次数?但每个文件中每个字的计数只增加一次。此外,我不只是想要一个特定的单词,我想要一个所有多个单词出现的列表。如果只是一个单词,我可以使用“grep-l word*| wc-l”,但我如何让它列出不同文件中多次出现的所有单词?好的,我编辑了我的答案,并包含了一个可以使用的小脚本。希望这对你有帮助啊,这是有道理的,但不幸的是,sed命令对我不起作用,因为我在终端上雨衣。有没有办法用猫来代替你知道吗?另外,命令行将如何更改以查找多个文件中出现的所有单词的出现计数(仅适用于一个文件)?我只是用它作为一个例子来查找所有带pepper的单词并计数尝试“grep-o-E'pepper”“my|u file”“| wc-l”让我换一句话,如何计算目录中所有文件中单词的出现次数?但每个文件中每个字的计数只增加一次。此外,我不只是想要一个特定的单词,我想要一个所有多个单词出现的列表。如果只是一个单词,我可以使用“grep-l word*| wc-l”,但是我如何让它列出不同文件中多次出现的所有单词呢?好的,我编辑了我的答案,并包含了一个你可以使用的小脚本。希望这对你有帮助。我会将tr
更改为tr-c a-zA-Z'\n'
来处理这些问题标点符号,例如,远离,“
与away
不单独显示。这样你会有很多空行,但是你可以用grep来去掉它们。
或者让排序| uniq
将它们折叠成一行,并进行大量计数。我会将tr
更改为tr-c a-zA-Z'\n'
来处理标点符号,例如,“
与away
不单独显示。这样你会有很多空行,但是你可以用grep来摆脱它们。
或者让排序| uniq
将它们折叠成一行,并进行大量计数。或者grep-l pepper-r
如果你想递归到subdirs,如果要递归到子目录,可以使用--include
或--exclude
或grep-l pepper-r
进一步细化,也可以使用--include
或--exclude
进一步细化。