192. Word Frequency

Description

Write a bash script to calculate the frequency of each word in a text file words.txt.

For simplicity sake, you may assume:

  • words.txt contains only lowercase characters and space ' ' characters.

  • Each word must consist of lowercase characters only.

  • Words are separated by one or more whitespace characters.

Note:

  • Don't worry about handling ties, it is guaranteed that each word's frequency count is unique.

  • Could you write it in one-line using Unix pipes?

Constraints

Approach

  • GeeksforGeeks

  • ProgramCreek

  • YouTube

Examples

Input:

Assume that words.txt has the following content:

the day is sunny the the

the sunny is is

Output:

Your script should output the following, sorted by descending frequency:

the 4

is 3

sunny 2

day 1

Solutions

/**
 * Time complexity : 
 * Space complexity : 
 */

cat words.txt | tr -s ' ' '\n' | sort | uniq --count | sort -r | awk '{print $2 " " $1}'

Follow up

Last updated

Was this helpful?