Ordem de classificação para ordenar esta lista em uma ordem específica

1

Eu sei que há toneladas de perguntas sobre classificação aqui, mas não consigo resolver meu caso de uso.

Eu estou tentando classificar uma lista em R (no Ubuntu 16.04) e estou no meu juízo final! Eu tenho tentado mexer com as configurações de LC_ALL=C e collate e posso obter resultados para classificar de forma diferente, mas não consigo obter o resultado de que preciso. É disso que eu preciso:

2014_Actual / 2014_Target / 2014_Percent / 2015_Actual / 2015_Target / 2015_Percent

O truque que eu uso no windows é apagar o sublinhado, então: 2014_Actual / 2014_Target / 2014Percent / 2015_Actual / 2015_Target / 2015Percent , o que é aceitável para meus usuários. Mas obviamente isso não funciona no Linux, pois ignora o sublinhado.

Alguém tem alguma ideia de como eu poderia obter a ordem de classificação mencionada acima no nível LC_ALL ?

Obrigado antecipadamente.

EDITAR : Adicionando clareza: o problema é que, quando classifico as opções acima no Linux, ele ignora o sublinhado e fornece:
2014_Actual / 2014Percent / 2014_Target / 2015_Actual / 2015Percent / 2015_Target

    
por Amit Kohli 05.06.2017 / 18:13

1 resposta

2

Não tenho certeza se entendi a totalidade da sua pergunta. mas se eu estivesse fazendo isso no Unix, eu faria

sed -e 's/Actual/1Actual/' -e 's/Target/2Target/' -e 's/Percent/3Percent/' |
    sort |
    sed -e 's/1Actual/Actual/' -e 's/2Target/Target/' -e 's/3Percent/Percent/'
    
por 05.06.2017 / 21:08

Tags