如何使用grep计算文本文件中五个字母单词的数量?

时间:2015-01-30 00:01:14

标签: linux count grep word

我不擅长linux,我试图用grep来计算五个字母的单词。

3 个答案:

答案 0 :(得分:0)

使用c标志进行计数,查找包含五个字符的模式:

 $ cat file
 some text file containing many words and sentences.
 $ tr ' ' '\n' < file | grep -c '^[ \t]*[a-zA-Z]\{5\}[ \t]*$'
 1

答案 1 :(得分:0)

您可以使用:

grep -o -w "\w\{5\}" your_file | wc -w

-o仅打印匹配的单词,-w表示正则表达式搜索为单词\w\{5\} - 正则表达式字符串本身(匹配5个连续的单词字符)。所以,使用包含

的your_file
word1 word2 word3
long_word 123 word4

grep -o -w "\w\{5\}" your_file的输出将是

word1
word2
word3
word4

Piped wc -w只算这个。

注意:如果您不想匹配所有字母数字字符,请使用更具体的内容替换\w元字符。例如[a-z] - 小写英文字母。

答案 2 :(得分:0)

gnu awk(由于记录选择器中的多个字符)确实计算了有5个字母的单词数。它确实忽略了.,等。

awk -v RS="[ .,?!]|\n" 'length($0)==5 {a++} END {print a}' file