사용자 이름과 생년월일을 추출하여 한 줄에 표시하는 다음 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
나는 다양한 옵션을 시도했지만 아무 소용이 없었습니다. 누구든지 단서가 있습니까?