J'avais une commande qui fonctionnait dans un fichier texte, comptait toutes les occurrences des mots et l'imprimait comme ceci :
[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
Ainsi, il ne recherche pas ligne par ligne, mais mot par mot, et il le fait pour tous les mots, pas seulement pour 1 mot. Je l'avais trouvé quelque part sur Internet il y a longtemps, mais je ne le trouve ni ne m'en souviens.
Réponse acceptée :
J'utiliserais tr
au lieu de awk :
echo "Lorem ipsum dolor sit sit amet et cetera." | tr '[:space:]' '[\n*]' | grep -v "^\s*$" | sort | uniq -c | sort -bnr
tr
remplace simplement les espaces par des retours à la lignegrep -v "^\s*$"
supprime les lignes videssort
à préparer comme entrée pouruniq
uniq -c
compter les occurrencessort -bnr
trie dans l'ordre numérique inverse en ignorant les espaces
wow. il s'est avéré être une excellente commande pour compter les jurons par lignes
trouver . -name "*.py" -exec cat {} \; | tr '[:espace:]' '[\n*]' | grep -v « ^\s*$ » | trier | uniq-c | trier -bnr | grep baise