我有一个这样的文件:
< Dec 2, 2015 2:51:49 PM EST> <Error> <HTTP> <cphypprod1v..com>
<AnalyticProviderServices0> <[ACTIVE] ExecuteThread: '3' for queue:
'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel> <> <1449085909249> <BEA-
101017> <[ServletContext@462961596[app:bea_wls_deployment_internal
module:bea_wls_deployment_internal.war path:/bea_wls_deployment_internal spec-
version:null]] Root ServletException.
java.lang.OutOfMemoryError: GC overhead limit exceeded
>
< Dec 2, 2015 2:51:49 PM EST> <Warning> <RMI> <cphypprod1v.sherwin.com> <AnalyticProviderServices0> <[STANDBY] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'>
<<WLS Kernel>> <> <> <1449085909264> < BEA-080003> < RuntimeException thrown by
rmi server: javax.management.remote.rmi.RMIConnectionImpl.invoke
(Ljavax.management.ObjectName;Ljava.lang.String;Ljava.rmi.Marshal
>
Run Code Online (Sandbox Code Playgroud)
我需要修改它,使其看起来像:
< Dec 2, 2015 2:51:49 PM EST> <Error> <HTTP> <cphypprod1v..com> <AnalyticProviderServices0> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel> <><1449085909249> <BEA-101017> <[ServletContext@462961596[app:bea_wls_deployment_internal module:bea_wls_deployment_internal.war path:/bea_wls_deployment_internal spec-version:null]] Root ServletException. java.lang.OutOfMemoryError: GC overhead limit exceeded >
< Dec 2, 2015 2:51:49 PM EST> <Warning> <RMI> <cphypprod1v.sherwin.com> <AnalyticProviderServices0> <[STANDBY] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'>
<<WLS Kernel>> <> <> < 1449085909264> < BEA-080003> < RuntimeException thrown by rmi server: javax.management.remote.rmi.RMIConnectionImpl.invoke (Ljavax.management.ObjectName;Ljava.lang.String;Ljava.rmi.Marshal >
Run Code Online (Sandbox Code Playgroud)
<
和之间的所有内容都>
必须在同一行上。我怎样才能做到这一点?
和 awk
awk 'BEGIN{RS=">\n+";ORS=">\n";FS="\n"} {$1=$1}1' yourfile
< Jan 20, 2016 11:58:09 AM EST Test1 Sample Test1 >
< Jan 20, 2016 11:58:09 AM EST Sample Test It is not T1 T2 >
Run Code Online (Sandbox Code Playgroud)
如果你想在每个输出之间有一个空行,你可以\n
在ORS
ie 中添加一个额外的
awk 'BEGIN{RS=">\n+";ORS=">\n\n";FS="\n"} {$1=$1}1' yourfile
Run Code Online (Sandbox Code Playgroud)
(虽然这也可能在文件末尾添加一个尾随空行)。