removendo palavras duplicadas de frases no arquivo [duplicado]

Dec 08 2020

como posso remover as palavras duplicadas de frases no arquivo, cada frase escrita em uma linha separada.

obrigado

Eu tenho essas frases no arquivo

hello every body hello
word I should remove the word
how can can i remove it ?

a saída esperada deve ser

hello every body
word I should remove the
how can i remove it ?

Respostas

1 dawg Dec 08 2020 at 01:28

Você pode fazer:

awk '{for(i=1;i<=NF;i++) if(++arr[$i]==1) print $i}' file

Impressões:

hello
every
body
word
I
should
remove
the
how
can
i
it
?

Para manter a estrutura da linha:

awk '{for(i=1;i<=NF;i++) 
       if(++arr[$i]==1) printf "%s%s", $i, OFS
       print ""}' file

Impressões:

hello every body 
word I should remove the 
how can i it ? 

Se a desduplicação for apenas por linha:

awk '{delete arr
      for(i=1;i<=NF;i++) 
         if(++arr[$i]==1) printf "%s%s", $i, OFS
      print ""}' file

Impressões:

hello every body 
word I should remove the 
how can i remove it ?