ユーザー名と生年月日を抽出して1行に表示する次のSEDコードがあります。ユーザー名と生年月日は2行です。
問題は、名前が見つかり保存されるたびに保持バッファを上書きしないことです。時には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
私はさまざまなオプションを試してみましたが、役に立ちませんでした。誰に手がかりがありますか?