Sometimes a Linux user can be in need of a random word generator. Random word can be used to set a new password or simply to create a bunch randomly named directories. If you need a single word the easiest way is to visit online Random Word Generator. However, if you need to generate more words or automate your task, a Linux bash shell can be a handy friend.

The following bash random word generator uses /usr/share/dict/words as word input ( feel free to use your own ). This file should be available on all decent Linux systems.

Here is how this random word generator works:
The random word generator script first gets a total number of words available in the /usr/share/dict/words file. Next, it will generate a random number in range from 0 to total number words available. As a last step, a previously randomly generated number will be used by a sed command to print a line corresponding with a random number generated previously.

Feel free to use your own words file by altering a constant variable ALL_NON_RANDOM_WORDS .

save a following bash script as random-word-generator:

# Random Word Generator 
if [ $# -ne 1 ] 
echo "Please specify how many random words would you like to generate !" 1>&2 
echo "example: ./random-word-generator 3" 1>&2 
echo "This will generate 3 random words" 1>&2 
exit 0
# Constants 
# total number of non-random words available 
non_random_words=`cat $ALL_NON_RANDOM_WORDS | wc -l` 
# while loop to generate random words  
# number of random generated words depends on supplied argument 
while [ "$X" -lt "$1" ] 
random_number=`od -N3 -An -i /dev/urandom | 
awk -v f=0 -v r="$non_random_words" '{printf "%i\n", f + r * $1 / 16777216}'` 
sed `echo $random_number`"q;d" $ALL_NON_RANDOM_WORDS 
  let "X = X + 1" 

make random-word-generator script executable:

chmod +x random-word-generator

Execute random-word-generator script to generate 25 random words:

./random-word-generator 25

Free Linux eBooks

Do you have the right skills?

Our IT Skills Watch page reflects an up to date IT skills demand leaning towards the Linux and Unix environment. We have considered a number of skills and operating systems.

See the result...

Go to top