2014-05-09 188 views
0

嗨,我試圖操縱 與nsradmin(的NetWorker)生成一個報告,順便說一句,這是一個簡單的輸出(大約有5000行)刪除新行,如果最後一個字符是逗號

    name: SERVER1; 
        group: FIRST; 
       save set: "C:\\", "VSS SYSTEM FILESET:\\", "VSS OTHER:\\", 
          "VSS USER DATA:\\", "VSS SYSTEM SERVICES:\\", 
          "VSS SYSTEM BOOT:\\"; 
      client OS type: Windows NT Server on Intel; 
     NetWorker version: 7.4.4.Build.634; 


        name: SERVER2; 
        group: NGDC_SO_5; 
       group: NGDC_SO_5; 
          "VSS OTHER:\\", "VSS USER DATA:\\", 
          "VSS SYSTEM SERVICES:\\", "VSS SYSTEM BOOT:\\", 
          "C:\\"; 
          client OS type: Windows NT Server on Intel; 
         NetWorker version: 7.4.4.Build.634; 

我倒是像一個報告格式

name: SERVER1;group: NGDC_SO_5;VSS OTHER:\\", "VSS USER DATA:\\"client OS type: Windows NT Server on Intel; 

name: SERVER2;group: NGDC_SO_5;VSS OTHER:\\", "VSS USER DATA:\\"client OS type: Windows NT Server on Intel; 

第一行始終與NAME開始,最後是「空行。 不幸的是我嘗試,但我沒有成功

+1

告訴我們你試過的什麼 – mpez0

回答

1

使用awkname之間的合併線:

awk '/name/{if (x)print x;x="";}{x=(!x)?$0:x","$0;}END{print x;}' inputfile 
+0

謝謝它的作用像一個魅力 – user3620960

0

這裏是一個非常快速和骯髒的刺,看看它是否接近你在找什麼

awk ' 
"" {print saved; saved=""; next} 
     {saved = saved " " $0} 
END {print saved} 
' filename 

可以完善它有無數種方式

相關問題