我不擅长linux,我试图用grep来计算五个字母的单词。
答案 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个连续的单词字符)。所以,使用包含
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