apaga uma linha se a mesma linha existir na linha anterior

5

Eu quero remover as linhas que já existem na linha anterior da linha de comando no UNIX. Eu tenho os seguintes dados em um arquivo.

 <xref id="gi_525506931_ref_NP_001266519.1__brain_aromatase"/>
                    <entry ac="IPR002401" desc="Cytochrome P450, E-class, group I" name="Cyt_P450_E_grp-I" type="FAMILY">
                    <entry ac="IPR001128" desc="Cytochrome P450" name="Cyt_P450" type="FAMILY">
                    <entry ac="IPR001128" desc="Cytochrome P450" name="Cyt_P450" type="FAMILY">
                    <entry ac="IPR001128" desc="Cytochrome P450" name="Cyt_P450" type="FAMILY">

Então, deve ficar assim:

 <xref id="gi_525506931_ref_NP_001266519.1__brain_aromatase"/>
                    <entry ac="IPR002401" desc="Cytochrome P450, E-class, group I" name="Cyt_P450_E_grp-I" type="FAMILY">
                    <entry ac="IPR001128" desc="Cytochrome P450" name="Cyt_P450" type="FAMILY">
    
por Prakki Rama 05.11.2014 / 06:06

2 respostas

8

Se você pode garantir que as linhas idênticas serão consecutivas, você pode usar

uniq your_file

e a resposta do cuonglm funcionará mesmo que não seja.

    
por 05.11.2014 / 06:08
3

com awk :

awk '!a[$0]++' file

Uma explicação para esse idioma é que você pode ler aqui .

    
por 05.11.2014 / 06:09