Avevo un comando che funzionava attraverso un file di testo, contava tutte le occorrenze delle parole e lo stampava in questo modo:
[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
Quindi non ricerca riga per riga, ma parola per parola, e lo fa per tutte le parole, non solo per 1 parola. L'avevo trovato da qualche parte su Internet molto tempo fa, ma non riesco a trovarlo né a ricordarlo..
Risposta accettata:
Userei tr
invece di awk :
echo "Lorem ipsum dolor sit sit amet et cetera." | tr '[:space:]' '[\n*]' | grep -v "^\s*$" | sort | uniq -c | sort -bnr
tr
sostituisce solo gli spazi con nuove righegrep -v "^\s*$"
taglia le righe vuotesort
da preparare come input peruniq
uniq -c
per contare le occorrenzesort -bnr
ordina in ordine numerico inverso ignorando gli spazi bianchi
oh. si è rivelato un ottimo comando per contare le parolacce
Trovare . -name “*.py” -exec cat {} \; | tr ‘[:spazio:]’ ‘[\n*]’ | grep -v “^\s*$” | ordina | uniq -c | ordina -bnr | grep cazzo