im Buch "The Linux Command Line" weist der Autor auf eine interessante Anwendung von grep hin: Kreuzworträtsel lösen.
Wetterphänomen mit acht Buchstaben, der dritte Buchstabe ist ein 'w' und der achte ein 'r':
Code: Alles auswählen
grep -i '^..w....r$' /usr/share/dict/ngerman
Abwasser
Abwässer
Anwender
Anwohner
Anwärter
Bewacher
Bewahrer
Beweiser
Bewerber
Bewohner
Erwerber
Gewinner
Gewitter
Gewänder
Gewässer
Juwelier
Newcomer
Umwohner
Unwetter
Urwälder
abwägbar
bewegter
etwaiger
gewagter
gewebter
gewehter
gewisser
umwogter
unwahrer
unwägbar
Da nun '/usr/dict/share/ngerman' mühsam zu tippen ist und ich eh etwas Shell-Skripting üben möchte, habe ich mir folgendes Skript ausgedacht:
Code: Alles auswählen
#!/bin/bash
DICT=/usr/share/dict/ngerman
usage () {
PROGNAME=$(basename $0)
printf "usage: $PROGNAME regex\n"
}
if [ $# -le 0 ]; then
usage
exit 1
fi
regex="'^$1$'"
grep -i $regex $DICT | while read word; do
printf "$word\n"
done
Code: Alles auswählen
crosswords ..w....r
Code: Alles auswählen
regex="'^$1$'"
echo "$regex"
Code: Alles auswählen
'^..w....r$'