첫 번째 필드에 중복된 값이 있는 파일이 있습니다. 파일에는 총 4개의 필드가 있습니다. 나머지 3개 필드의 값을 병합하고 싶습니다.
입력 파일:
123|abc123||GFD
234|xyz456|tsdrf34526|KLD
123||cdft091|GFD
123|abc123|cdft091|GFD
456|sdf872||LHG
원하는 출력:
123|abc123|cdft091|GFD
234|xyz456|tsdrf34526|KLD
456|sdf872||LHG
누구든지 도와줄 수 있나요?
답변1
awk
긴급한 요구 사항을 충족하는 것으로 보이는 프로그램은 다음과 같습니다 .
#!/bin/awk -f
BEGIN {FS = "|"; OFS="|"}
{
a[$1]++
f1[$1] = $2
f2[$1] = $3
f3[$1] = $4
}
END { for (i in a) print i, f1[i], f2[i], f3[i] }