bash sort a partir do final da string

0

Eu quero classificar o arquivo pelo primeiro arquivo, mas o último caractere é o mais importante.

Por exemplo, arquivo de formulário:

"AAAACTTTTT"                    1       2

"AAAACAAAAA"    1       2       6       4

Para:

"AAAACAAAAA"    1       2       6       4

"AAAACTTTTT"                    1       2

Eu tentei:

sort -k1,1 file

Claro que não funciona, mas não tenho ideia de como posso fazer isso. Você poderia me ajudar? Mayby algumas bandeiras secretas?

    
por diego9403 02.06.2016 / 16:16

2 respostas

0

Se o arquivo não for muito grande, você pode fazer isso com o GNU awk :

{
    count = split($1, arr, "");
    key = ""
    for (i = 1; i <= count; i++) {
        key = arr[i] key;
    }
    lines[key] = $0;
}
END {
    count = asort(lines);
    for (i = 1; i <= count; i++) {
        print lines[i];
    }
}
    
por 03.06.2016 / 10:30
0

Eu queria classificar (agrupar) uma lista de endereços de e-mail por seus nomes de domínio. all '@ xxx.com' então todo o '@ yyy.com' (solução baseada em um comentário do makgun)

rev emailist | sort | rev > emailistsorted

para obter apenas os únicos

rev emailist | sort -u | rev > emailistsorted
    
por 30.05.2018 / 14:08

Tags