awk 명령줄을 사용하여 동일한 값이 있는 경우 csv에서 여러 열을 삭제하는 방법

awk 명령줄을 사용하여 동일한 값이 있는 경우 csv에서 여러 열을 삭제하는 방법

이 출력이 있습니다

4567,4567
5436,5436
1234,5678

예상 출력:

1234,5678

아래 명령을 시도했지만 행 대신 열을 삭제합니다.

awk -F, 'NF==2{NF-=1}NF<1{sub(/",.*/,"\"")}1' OFS=,

여러분의 도움과 조언에 감사드립니다.

답변1

이건 어때?

awk -F, '$1 != $2'

이는 쉼표로 구분된 처음 두 필드를 비교하여 수행됩니다. 명시적인 문이 제공되지 않은 경우 awk 각 문에 대해 암시적인 문이 있으며, 이것이 여기서 사용됩니다. { print }결과적으로 두 필드가 일치하지 않는 경우에만 입력 행이 인쇄됩니다.

답변2

내 제안은 다음과 같습니다 sed.

sed '/^\(.*\),\1$/d' file

산출:

1234,5678

관련 정보