2012-02-05 45 views
0

我正在嘗試創建file.xml,我有一個city.txt文件,其中包含1000個城市,每行一個城市名稱。在Linux上使用shell腳本生成文本數據的XML文件

的file.xml應該有這樣的格式(代碼塊)爲每個城市自city.txt

 <ss:Row ss:Height ="22"> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">CITY-FROM-TEXT-FILE-LINE-1</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">CALIFORNIA</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">CA</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
      <ss:Cell> 
       <ss:Data ss:Type="String">xx</ss:Data> 
      </ss:Cell> 
     </ss:Row> 

什麼是做到這一點的最好方法是什麼?

感謝

+0

我覺得殼將是最好的,你能幫助我的代碼嗎? – 2012-02-05 16:17:52

回答

1

你可以寫一個awk腳本:

#!/usr/bin/awk -f 

BEGIN{ 
    print "<ss:Row ss:Height='22'>" 
} 

{ 
    print "<ss:Cell>" 
    print "<ss:Data ss:Type='String'>" $0 "</ss:Data>" 
    print "</ss:Cell>" 
} 

END{ 
    print "</ss:Row>"  
} 

要運行此腳本:

$ awk -f xml.awk city.txt 
+0

輸出應具有示例代碼中的所有行,整個代碼應該是一個塊,並且只應在每個塊中更改CITY-FROM-TEXT-FILE-LINE-1。 – 2012-02-05 13:55:42