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

관련 정보