Faccio un osservazione.

Se il campo che volessi fosse l "ordinatore", fosse il primo scritto su ogni riga, mi basterebbe ordinare l array creato da file().

Da qui, mi servirebbe qualcosa del tipo "ordina questo array in base alle lettere che trovi dopo il secondo -" (divisore)