Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

218
Visualizações
¿Cómo elimino líneas duplicadas usando Sed sin ordenar?

He estado tratando de descubrir cómo eliminar líneas duplicadas usando solo Sed y tengo problemas para descubrir cómo hacerlo.

Hasta ahora he probado esto y no ha funcionado.

 sed '$!N; /^\(.*\)\n\1$/!P; D'

expediente:

 APPLE ORANGES BANANA BANANA COOKIES FRUITS

Lo que obtuve:

 APPLE ORANGES BANANA BANANA COOKIES FRUITS

Lo que quiero:

 APPLE ORANGES BANANA COOKIES FRUITS

He estado tratando de averiguar cómo hacerlo para no tener que revisar manualmente cada línea en un archivo y decirle que elimine manualmente los duplicados.

Mi objetivo es que esto eventualmente elimine la segunda instancia de BANANA.

¿Alguien puede señalarme en la dirección correcta?

Gracias

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Usando sed

 $ sed -n '/^$/d;G;/^\(.*\n\).*\n\1$/d;H;P;a\ ' input_file APPLE ORANGES BANANA COOKIES FRUITS

Eliminar líneas en blanco. Agregar espacio de espera. Si la línea está duplicada, elimínela; de lo contrario, cópiela en el espacio de espera, imprima e inserte líneas en blanco.

over 4 years ago · Santiago Trujillo Relatório

0

Esto podría funcionar para usted (GNU sed):

 sed -E '1s/^/\n/;:a;N;s/((\n\S+)(\n\S+)*)\n\2$/\1/;$!ba;s/.//' file

En la primera línea, inserte una nueva línea para fines de expresión regular.

Reúna las líneas en el espacio del patrón, eliminando los duplicados cuando se agreguen (más la línea vacía de antemano).

Al final del archivo, elimine la nueva línea introducida e imprima el resultado.

over 4 years ago · Santiago Trujillo Relatório

0

mmm eso es extraño, eso parece funcionar para mí. ¿Es porque tiene una línea vacía entre cada línea de texto?

 ~$ cat test.txt APPLES ORANAGES BANANA BANANA COOKIES FRUITS ~$ cat test.txt | sed '$!N; /^\(.*\)\n\1$/!P; D' APPLES ORANAGES BANANA COOKIES FRUITS
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda