GNU/Linux >> Linux Esercitazione >  >> Linux

Ottenere il conteggio delle occorrenze delle parole nel file di testo di tutte le parole e l'output di stampa ordinato?

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 righe
  • grep -v "^\s*$" taglia le righe vuote
  • sort da preparare come input per uniq
  • uniq -c per contare le occorrenze
  • sort -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


Linux
  1. Ordina con l'ordinamento dalla riga di comando

  2. Come ordinare l'output per dimensione?

  3. Ordinare e contare il numero di occorrenza di righe?

  4. Ordinare l'output per colonna?

  5. tcpdump:come ottenere un output grepable?

come ottenere sha1sum per l'output binario?

Come posso ottenere un elenco di tutte le parole errate in un testo usando Linux?

Ottieni la dimensione di tutte le cartelle nella directory

Come ordinare questo output 1,10,11..2

Come posso ordinare du -h output per dimensione

Ottieni tutte le estensioni e il rispettivo numero di file in una directory