У меня была похожая проблема, но с текстовыми символами, так что на всякий случай это может помочь:
for i in {a..z} ; do for b in {a..z} ; do [[ ! "$i" == "$b" ]] && echo -e "$i $b" | xargs -n 1 | sort | xargs ; done ; done | sort -u
Он будет переставлять a to z с a по z, не только без повторяющихся символов «aa», но и без избыточностей, таких как «ab» и «ba», повторяя только «ab», благодаря «встроенной сортировке» "of elements (xargs | sort | xargs), за которым следует финальная" sort -u "(или" uniq ").