mirror of https://github.com/tLDP/LDP
40 lines
1.0 KiB
Bash
40 lines
1.0 KiB
Bash
#!/bin/bash
|
|
# agram.sh: Playing games with anagrams.
|
|
|
|
# Find anagrams of...
|
|
LETTERSET=etaoinshrdlu
|
|
FILTER='.......' # How many letters minimum?
|
|
# 1234567
|
|
|
|
anagram "$LETTERSET" | # Find all anagrams of the letterset...
|
|
grep "$FILTER" | # With at least 7 letters,
|
|
grep '^is' | # starting with 'is'
|
|
grep -v 's$' | # no plurals
|
|
grep -v 'ed$' # no past tense verbs
|
|
# Possible to add many combinations of conditions and filters.
|
|
|
|
# Uses "anagram" utility
|
|
#+ that is part of the author's "yawl" word list package.
|
|
# http://ibiblio.org/pub/Linux/libs/yawl-0.3.2.tar.gz
|
|
# http://bash.deta.in/yawl-0.3.2.tar.gz
|
|
|
|
exit 0 # End of code.
|
|
|
|
|
|
bash$ sh agram.sh
|
|
islander
|
|
isolate
|
|
isolead
|
|
isotheral
|
|
|
|
|
|
|
|
# Exercises:
|
|
# ---------
|
|
# Modify this script to take the LETTERSET as a command-line parameter.
|
|
# Parameterize the filters in lines 11 - 13 (as with $FILTER),
|
|
#+ so that they can be specified by passing arguments to a function.
|
|
|
|
# For a slightly different approach to anagramming,
|
|
#+ see the agram2.sh script.
|