Com a ajuda da idéia básica correta tirada de um amigo, consegui encontrar uma solução para um filtro:
| sed 's/^SCHILY/+SCHILY/' | tr '2' '@' | tr '+' '2' | sort -t. -n -k1 -k2 -k3 | tr '@' '2'
Este primeiro sed faz o bloco começar único, o primeiro tr remove novas linhas, o segundo tr faz o bloco iniciar linhas separadas, o comando sort cria a ordem necessária e o comando% finaltr restaura todas as novas linhas.
O comando sed é um pouco complexo, pois precisa lidar com até três níveis de ordenação.