SED 모드 및 보관 공간의 이상한 결과

SED 모드 및 보관 공간의 이상한 결과

사용자 이름과 생년월일을 추출하여 한 줄에 표시하는 다음 SED 코드가 있습니다. 사용자 이름과 생년월일은 두 줄입니다.

문제는 이름이 발견되고 저장될 때마다 보유 버퍼를 덮어쓰지 않는다는 것입니다. 때로는 10명 정도의 사용자가 정확하게 표시되기도 하지만 때로는 동일한 이름(2~3번)이 표시되기도 합니다. 현재 결과를 봅니다.

sed -rn \  
    -e '/^Name:/{  
       s/Local:.*//
       s/Name: //
       s//\1/  
       h  
       }'\   

    -e '/DOB:/{
        s/(.*DOB:\s([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}).*)/\2/
        #s/(.*DOB:\s(.*)\sMem.*)/\2/
        G
        s/(.*)\n(.*)/\2\t\1/
        p
       }' $f

위의 코드는 다음과 유사한 출력을 제공할 것이라고 생각했습니다.

현재 결과

Tito Puente     8/21/1999  
Tito Puente     23/13/1967  
ARON BYRDMAN    6/24/1320  
JOE P. EARTHE   9/7/1961  
WISTON P. GREY  HEAVEN, NY 10121 DOB: Mem Status: Journeyman  
WISTON P. GREY  42/12/1949  

견본

나는 다양한 옵션을 시도했지만 아무 소용이 없었습니다. 누구든지 단서가 있습니까?

관련 정보