テキストファイル内のすべての単語の単語発生回数を取得し、印刷物を並べ替えます。

テキストファイル内のすべての単語の単語発生回数を取得し、印刷物を並べ替えます。

次のようにテキストファイルを処理し、すべての単語の数を数えて印刷するコマンドがあります。

user@box $˜ magic-command-i-forgot | with grep | and awk | sort ./textfile.txt
66: the
54: and
32: I
16: unix
12: bash
5:  internet
3:  sh
1: GNU/Linux

そのため、1行ずつ検索するのではなく、単語単位で検索し、1単語だけを検索するのではなく、すべての単語を検索します。ずっと前にインターネットのどこかで見つけましたが、見つけることも覚えていません。

ベストアンサー1

tr私は代わりに使用しますアッ:

echo "Lorem ipsum dolor sit sit amet et cetera." | tr '[:space:]' '[\n*]' | grep -v "^\s*$" | sort | uniq -c | sort -bnr
  • trスペースを改行に変更します。
  • grep -v "^\s*$"空行を切り取る
  • sort入力として準備uniq
  • uniq -c回数発生
  • sort -bnrスペースを無視し、数値を逆順に並べ替えます。

うわー。これは素晴らしい計算命令であることがわかりましたすべてのセリフを誓う

探す。 -name "*.py" -exec cat{}\; tr '[:space:]' '[\n*]' | grep -v "^\s* $" |ソートuniq-c |ソート-bnr | grep くそ

おすすめ記事