Source: babynaming aid
Chip Chapin
chip at hpclisp.HP.COM
Fri Sep 15 04:33:33 AEST 1989
Here is simple awk program I composed to help us pick out names for our
soon-to-arrive baby. More details are in the comments below.
Chip Chapin
------------------ cut here -----------------------
#!/bin/sh
###############################################################################
#
# File: babynames.sh
# RCS: $Header: $
# Description: Generate combinations of names to help name your kid.
# Author: Chip Chapin
# Created: Thu Sep 14 10:37:34 1989
# Modified: Thu Sep 14 11:30:43 1989 (Chip Chapin) chip at hpcllcc
# Language: awk
# Package: N/A
# Status: Experimental (Do Not Distribute)
#
###############################################################################
# The purpose of this package is to print out various combinations of
# candidate names for your baby. You give it a list of names that you are
# considering, with up to two nicknames for each if desired. The program
# will then print all possible combinations of first and middle names from
# the list you provided. It also prints the the nicknames that would go
# with a selected first name, and "first - middle initial - last" so you
# can see how a name would look in its most commonly used form.
#--------------------------------------------------------------------
#Chip Chapin, HP California Language Lab (HP/CBO/NSS/CSG/DLD/LMO/CLL)
#uucp: ... {allegra,decvax,ihnp4,ucbvax} !hplabs!hpda!chip
# or ... uunet!hp-sde!hpda!chip
#Internet: chip%hpda at hplabs.hp.com or chip%hpda at hp-sde.hp.com
#HPDesk: chip (hpda) /HPUNIX/UX
#USMail: MS47LZ; 19420 Homestead Ave; Cupertino, CA 95014
#Phone: 408/447-5735 Fax: 408/973-8455 HPTelnet: 1-447-5735
#--------------------------------------------------------------------
LASTNAME=Chapin # The baby's last name
awk '
{ names[++nc] = $1;
nicknames[nc] = $2;
altnicknames[nc] = $3;
}
END {
for (i=1; i<=nc; i++) {
printf "\n%s %s\n", names[i], lastname;
if (nicknames[i] != "")
printf "\t%s %s\n", nicknames[i], lastname;
if (altnicknames[i] != "")
printf "\t%s %s\n", altnicknames[i], lastname;
for (j=1; j<=nc; j++) {
if (j != i) {
printf "\t%s %s %s\n\t%s %s. %s\n", \
names[i], names[j], lastname, \
names[i], substr(names[j],1,1), lastname;
}
}
}
} # END
' lastname=$LASTNAME - <<-EOF
Drake
Jesse Jess
Daniel Dan
William Will Bill
Andrew Andy
Robert Rob Bob
Gregory Greg
EOF
# The list above is the set of names that you want to try.
# The format allows for two nicknames in addition to the given name,
# separated by white space.
# end
More information about the Alt.sources
mailing list