Eu não acho que awk
seja o caminho certo. Basta dividir as strings, classificar os elementos da string e comparar o resultado.
Exemplo com bash
:
$ split_and_sort() { sed -r 's/\</\n/g' | sort; }
$ split_sort_and_compare() {
if [ "$(split_and_sort <<< "$1")" = "$(split_and_sort <<< "$2")" ]
then echo "Match"
else echo "No match"
fi
}
$ split_sort_and_compare "1.Nf3 c5 2.e4 Nc6" "1.e4 c5 2.Nf3 Nc6"
Match
$ split_sort_and_compare "1.Nf3 c5 2.e4 Nc6" "1.e4 c5 2.Nf3 Nc5"
No match
Este é apenas um exemplo grosseiro para ilustrar minha ideia, com minha própria interpretação de como as strings precisam ser divididas e comparadas. Faça suas próprias funções mais elaboradas de acordo com suas regras.