Code:
schiwalj@FAR_ADSDT1 ~
$ cat testdata
Date: 6/26/07 1:33:14 PM
LogName: NAME1
Logtype: TYPE1
LogUser: USER1
LogClient: CLIENT1
LogServer: SERVER1
LogLife: LIFE1
LogContent: CONTENT1
--
Date: 6/26/07 1:33:15 PM
LogName: NAME2
Logtype: TYPE2
LogUser: USER2
LogClient: CLIENT2
LogServer: SERVER2
LogLife: LIFE2
LogContent: CONTENT2
--
Date: 6/26/07 1:33:16 PM
LogName: NAME3
Logtype: TYPE3
LogUser: USER3
LogClient: CLIENT3
LogServer: SERVER3
LogLife: LIFE3
LogContent: CONTENT3
--
schiwalj@FAR_ADSDT1 ~
$ cat td.sed
#n
/Date:/,/--/{
/Date:/H
/Logtype:/H
/LogUser:/H
/--/{ x
s/^--//
s/^\n//
s/\n/ - /gp
}
}
schiwalj@FAR_ADSDT1 ~
$ sed -f td.sed testdata
Date: 6/26/07 1:33:14 PM - Logtype: TYPE1 - LogUser: USER1
Date: 6/26/07 1:33:15 PM - Logtype: TYPE2 - LogUser: USER2
Date: 6/26/07 1:33:16 PM - Logtype: TYPE3 - LogUser: USER3
I'd have to break out my sed & awk book to improve on this. When I tried the 'g' instead of the 'x' command, it didn't work right, so I needed to eliminate the '--' added back to the buffer.