#!/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