diff options
Diffstat (limited to 'zanagrams/zanagrams.sh')
| -rwxr-xr-x | zanagrams/zanagrams.sh | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/zanagrams/zanagrams.sh b/zanagrams/zanagrams.sh new file mode 100755 index 0000000..52f82db --- /dev/null +++ b/zanagrams/zanagrams.sh @@ -0,0 +1,14 @@ +#!/bin/sh +letters="$1" +dots="$(printf "%s" "$letters" | tr '.[:alpha:]' '.')." +# TODO: Don't allow repeats unless they actually repeat + +letters_used_once="$(printf "%s" "$letters" | sed 's/./\0\n/g' | sort | uniq -c | grep ' 1 '| grep -o '[a-z]$' | tr -d '\n')" +letters_used_twice="$(printf "%s" "$letters" | sed 's/./\0\n/g' | sort | uniq -c | grep ' 2 '| grep -o '[a-z]$' | tr -d '\n')" + +lengthsort() { + awk '{ print length, $0 }' | sort -n | awk '{$1=""; print $2}' +} + +# cafe is in the dictionary with an accent +cat /etc/dictionaries-common/words | sed 's/é/e/g' | grep -i '^['"$letters"']*$' | grep -v "$dots" | grep .... | onceletters.py "$letters_used_once" | onceletters.py "$letters_used_twice" 2 | nearletters.py "$letters" | lengthsort |
