Files
Cody Boone Ferguson 967cd60b18 Improve 1992/gson/try.sh + fix index.html
For fun more strings have been added and the dictionary constructed with
mkdict.sh now uses index.html as well.

Some fun anagrams that might amuse some people, some from the program
and some that I noticed:

free software foundations:
    foundation was set for free
    foundations for free waste

unix international:
    relaxation unit inn
    nun relaxation in it
    inline no tar at unix

bill gates:
    stale glib

free software foundation (software):
    routine and waste offer of (software)
    idea for fun software note

microsoft conspiracy:
    try ansi op forms ioccc
    any op first forms ioccc

international microsoft conspiracy:
    first conspiracy container main tool
    force locations contains primary tin

but there are plenty others to find with the script and otherwise.
2024-07-20 13:15:04 -07:00

103 lines
2.7 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# try.sh - demonstrate IOCCC entry 1992/gson
#
# make sure CC is set so that when we do make CC="$CC" it isn't empty. Doing it
# this way allows us to have the user specify a different compiler in an easy
# way.
if [[ -z "$CC" ]]; then
CC="cc"
fi
make CC="$CC" all >/dev/null || exit 1
# clear screen after compilation so that only the entry is shown
clear
ag()
{
if [[ "$#" -lt 2 ]]; then
echo "$0: ag() requires at least two args, given: $#" 1>&2
return
fi
echo "$ ./ag -5 ${*:2} < $1" 1>&2
read -r -n 1 -p "Press any key to continue (space = next page, q = quit): "
echo 1>&2
./ag -5 "${@:2}" < "$1" 2>/dev/null | less -rEXF
echo 1>&2
}
# try making our own dictionary with mkdict.sh:
#
rm -f words
cat index.html README.md try.sh Makefile | ./mkdict.sh > words
DICT="words"
# safety check that DICT is not empty and is a readable file
#
if [[ -n "$DICT" && -f "$DICT" && -r "$DICT" ]]; then
read -r -n 1 -p "Press any key to use our own dict from mkdict.sh: "
echo 1>&2
ag "$DICT" free software foundation
ag "$DICT" free software foundations
ag "$DICT" obfuscated c contest
ag "$DICT" obfuscated c contests
ag "$DICT" unix international
ag "$DICT" george bush
ag "$DICT" ross perot
ag "$DICT" paul e tsongas
ag "$DICT" bill gates
ag "$DICT" microsoft conspiracy
ag "$DICT" international microsoft conspiracy
fi
# now attempt to find a dictionary file if DICT unset or not a regular readable file
#
echo "Will now try locating system dictionary." 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
DICT=""
if [[ -z "$DICT" || ! -f "$DICT" || ! -r "$DICT" ]]; then
DICT="/usr/share/dict/words"
if [[ ! -r "$DICT" ]]; then
DICT="/usr/share/lib/spell/words"
if [[ ! -r "$DICT" ]]; then
DICT="/usr/ucblib/dict/words"
if [[ ! -r "$DICT" ]]; then
DICT="/dev/null"
fi
fi
fi
fi
# safety check that DICT is not empty and is a readable file
#
if [[ -n "$DICT" && -f "$DICT" && -r "$DICT" ]]; then
echo "Using $DICT as dictionary file." 1>&2
read -r -n 1 -p "Press any key to continue: "
echo 1>&2
ag "$DICT" free software foundation
ag "$DICT" free software foundations
ag "$DICT" obfuscated c contest
ag "$DICT" obfuscated c contests
ag "$DICT" unix international
ag "$DICT" george bush
ag "$DICT" bill clinton
ag "$DICT" ross perot
ag "$DICT" paul e tsongas
ag "$DICT" pauline hansen
ag "$DICT" bill gates
ag "$DICT" microsoft windows
read -r -n 1 -p "This next one can take some time. Do you want to run it anyway (Y/N)? "
echo 1>&2
if [[ "$REPLY" = "y" || "$REPLY" = "Y" ]]; then
ag "$DICT" international microsoft conspiracy
fi
fi