计算文件中特定长度的单词数

计算文件中特定长度的单词数

我使用以下命令来计算文件中的单词数:

tr ' ' '\n' < Filename | grep -c "WORD"

这将返回带有计数器的单词列表。现在我想计算特定长度的单词数。例如,给定一个包含以下内容的文件:

employee paresh emp employee jayesh hitesh

当我使用 argument 运行 shell 脚本时6,它应该显示/计算 6 个字符的单词(paresh, jayesh, 和hitesh, with count 3)。我怎样才能做到这一点?

答案1

如果您使用 grep 查找正则表达式,^.{6}$它将返回恰好包含六个字符的行:

$ tr ' ' '\n' < Filename | grep '^.\{6\}$'
paresh
jayesh
hitesh

$ tr ' ' '\n' < Filename | grep -c '^.\{6\}$'
3

答案2

还,

awk -v n=6 '{for (i=1; i<=NF; i++) if (length($i) == n) print $i}' file

或者,与tr

tr ' ' '\n' file | awk -v n=6 'length($0)==n'

相关内容