gawk 스크립트 작성 도움말 등록 [닫기]

gawk 스크립트 작성 도움말 등록 [닫기]

고유 키 $2를 사용하여 두 레코드를 결합하려면 gawk 예제가 필요합니다. $2가 키이지만 $1에는 다른 엔터티가 있으므로 동일한 키에 대해 두 개의 다른 행이 있습니다.

I/p 파일이 정렬 순서가 아닙니다.

01|12345|AAAA 01|99|AAAA 01|888|AAAA 02|12345|BBBBB|CCCCC|DDDDD 02|99|BBBBB|CCCCC|DDDDD 02|888|BBBB|CCCCC|DDDDD

결과물 파일:

O/p 파일 01|12345|DDDDD 01|99|DDDDD 01|888||DDDDD

답변1

예를 들어 다음 을 사용하여 이 작업을 수행할 수 있습니다 awk.

awk '
    BEGIN { FS=OFS="|" }
    $2!=old { print sav ; sav=$0 ; old=$2 ; next }
    { sub(/[^|]*\|[^|]*\|/,"") ; sav=sav OFS $0 }
    END { print sav }
'

관련 정보