GNU/Linux >> Linux の 問題 >  >> Linux

すべての単語のテキストファイルの単語出現数と印刷出力を並べ替えて取得しますか?

テキストファイルを処理し、出現するすべての単語をカウントして、次のように出力するコマンドがありました。

[email protected] $˜ 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つの単語だけでなくすべての単語に対して検索します。ずっと前にインターネットのどこかで見つけましたが、見つけられず、覚えていません。

承認された回答:

trを使用します awkの代わりに :

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 空白を無視して、数値の逆順で並べ替えます

おお。 1行あたりの誓いを数えるのに最適なコマンドであることが判明しました

探す 。 -name“ * .py” -exec cat {} \; | tr‘[:space:]’‘[\ n *]’ | grep -v“ ^ \ s * $” |並べ替え| uniq -c | sort -bnr | grep fuck


Linux
  1. コマンドラインでsortを使用してソートする

  2. Du出力をサイズで並べ替える方法は?

  3. 行の発生数を並べ替えてカウントしますか?

  1. 小文字/大文字の単語のすべての可能な組み合わせを取得しますか?

  2. 出力を列で並べ替えますか?

  3. uniq が同一の単語を異なるものとしてカウントするのはなぜですか?

  1. psを印刷グループにするにはどうすればよいですか?

  2. tcpdump:grep可能な出力を取得するには?

  3. du -h 出力をサイズでソートするにはどうすればよいですか