ファイル内の特定の長さの単語数の計算

ファイル内の特定の長さの単語数の計算

次のコマンドを使用して、ファイル内の単語数を計算します。

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

これにより、カウンターを含む単語のリストが返されます。さて、特定の長さの単語数を計算したいと思います。たとえば、次の内容を含むファイルがあるとします。

employee paresh emp employee jayesh hitesh

引数を使用してシェルスクリプトを実行すると、66つの文字単語(paresh、、jayeshおよびhitesh、Countを含む3)を表示/計算する必要があります。どうすればいいですか?

答え1

grepを使って正規表現を見つけると、^.{6}$正確に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'

関連情報