이전 행에 동일한 행이 있으면 행 삭제

이전 행에 동일한 행이 있으면 행 삭제

UNIX 명령줄에서 이전 줄의 기존 줄을 삭제하고 싶습니다. 내 파일에 다음 데이터가 있습니다.

 <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">

따라서 다음과 같아야 합니다.

 <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">

답변1

동일한 행이 연속적임을 보장할 수 있는 경우 다음을 사용할 수 있습니다.

uniq your_file

그리고cuonglm의 답변작동하지 않더라도 작동합니다.

답변2

그리고 awk:

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

이 관용구에 대한 설명을 읽을 수 있습니다.여기.

관련 정보