Hacker News new | ask | show | jobs
by smokey42 4544 days ago
My pet problem after FizzBuzz has been this for some time now:

    You are given a text in a file. Count all the words in the
    text and print out the words with their number of occurences
    in descending order.
This can be depressing at times.
1 comments

Define "word". However, strings separated by space:

Print number of words:

    wc -w <filename>
Print words with counts in decreasing order:

    cat <filename>  \
    | gawk '{for (i=1;i<=NF;i++) print $i}' \
    | sort          \
    | uniq -c       \
    | sort -rn      \
    | less
There are optimizations to be made, but that would be my go to solution in the first instance.