次のようにテキストファイルを処理し、すべての単語の数を数えて印刷するコマンドがあります。
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 くそ