May 2017
Beginner
552 pages
28h 47m
English
We just explored the logic and ideas about the solution; now let's create the shell script as follows:
#!/bin/bash
#Name: word_freq.sh
#Desc: Find out frequency of words in a file
if [ $# -ne 1 ];
then
echo "Usage: $0 filename";
exit -1
fi
filename=$1
egrep -o "\b[[:alpha:]]+\b" $filename | \
awk '{ count[$0]++ }
END {printf("%-14s%s\n","Word","Count") ;
for(ind in count)
{ printf("%-14s%d\n",ind,count[ind]);
}
}
The script will generate this output:
$ ./word_freq.sh words.txt
Word Count
used 1
this 2
counting 1