コマンドラインを使用してテキストファイル内の単語の発生回数を計算するには?

コマンドラインを使用してテキストファイル内の単語の発生回数を計算するには?

1行だけの大きなJSONファイルがあり、コマンドラインを使用してファイル内の特定の単語の発生回数を計算したいと思います。どうすればいいですか?

ベストアンサー1

$ tr ' ' '\n' < FILE | grep WORD | wc -l

ここでは、trスペースを改行に置き換え、grepWORDに一致するすべての結果行をフィルタリングし、wc残りの行を計算します。

wcgrepオプションを使用してセクションを保存することもできます-c

$ tr ' ' '\n' < FILE | grep -c WORD

この-cオプションは POSIX によって定義されます。

単語間のスペースが保証されない場合は、代わりに別の文字(区切り文字)を使用する必要があります。たとえば、交換tr部品は次のとおりです。

tr '"' '\n'

または

tr "'" '\n'

二重引用符または一重引用符を変更する場合。もちろんtr、一度に複数の文字を置き換えることもできます(さまざまな種類のスペースや句読点を考えてみてください)。

WORDを計算する必要がありますが、prefixWORD、WORDsuffix、またはprefixWORDsuffixを計算しない場合は、行の開始/終了タグにWORDパターンを囲むことができます。

grep -c '^WORD$'

私たちの文脈では、これは単語の開始/終了タグと同じです。

grep -c '\<WORD\>'

おすすめ記事