sort file | uniq --unique --check-chars=2
Estou fazendo duas suposições:
- não há problema em alterar a ordem da linha (classificar)
- a primeira coluna terá sempre dois caracteres de largura
Eu tenho um arquivo de texto com um exemplo (duas colunas separadas por um:)
se a primeira linha da primeira coluna for repetida novamente, não a considere e forneça a saída
11:22
33:44
55:66
55:77
minha saída desejada deve ser
11:22
33:44
sort file | uniq --unique --check-chars=2
Estou fazendo duas suposições:
Para excluir as linhas que têm apenas a repetição da primeira coluna :
sort file | uniq -u -w 1
Para excluir as linhas que têm a repetição do primeiro campo quando delimitado por dois pontos :
cut -d: -f1 file | sort | uniq -u
Nos dois casos, precisamos sort
do arquivo antes de enviar a saída para uniq
(pois uniq
funciona nas linhas correspondentes adjacentes). Então, faça uniq
com algumas opções.
Da página de manual uniq
:
-u: only print unique lines
-w N: compare no more than N characters in lines
Tags linux shell-script