고유 키 $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 }
'