我使用以下命令来计算文件中的单词数:
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'