Como apagar os números repetidos em uma coluna em um arquivo?

4

Eu tenho um arquivo parecido com:

entrada:

34
34
34
43
54
54
10001
10001
10001
10001
100005
100005
500000

Então eu preciso que cada número apareça apenas uma vez:

Fora:

34
43
54
10001
100005
500000

alguma sugestão considerando que o arquivo real é enorme com muitas repetições?

    
por zara 10.08.2016 / 16:23

2 respostas

6

Aqui você está:

$ uniq inputFile > outputFile

Mas observe uniq apenas remove as linhas repetitivas que vêm uma após a outra e sequencialmente. Então, se você quiser excluir todas as linhas repetitivas, mesmo aquelas que não vêm em seqüência, você pode primeiro sort do seu arquivo de entrada e o uso uniq :

$ sort -g inputFile | uniq > outputFile
A opção

-g será comparada de acordo com o valor numérico geral.

Ou use apenas sort -nu inputFile > outputFile

    
por 10.08.2016 / 16:25
2

Você precisa classificar se deseja remover duplicatas que ainda não estão em linhas consecutivas, como:

cat FILE1 | sort -nu > FILE2

sort -n significa classificação numérica e -u remove linhas duplicadas consecutivas (como o comando autônomo uniq faz em arquivos / dados classificados).

    
por 10.08.2016 / 16:34

Tags