我需要追加到一個XML文件殼腳本通過從csv文件讀取添加到
I/P文件圖案 TEST.DAT
account,bill,bill seg
12345,12445,121
14456,14467,903
14456,14467,903
我需要每一行添加到xml文件示例XML文件
<?xml version="1.0" encoding="UTF-8"?>
<BusinessConfiguration
xmlns="http://www.portal.com/schemas/BusinessConfig"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.portal.com/schemas/BusinessConfig BusinessConfiguration.xsd">
<!-- Sample input file for pin_bill_accts containing parameters for bill run management -->
<!-- Modify according to guidelines -->
<BillRunConfiguration>
<!-- List of DOMs for this bill run -->
<DOMList>
<DOM>---1</DOM>
</DOMList>
<BillSegmentList>
</BillSegmentList>
<!-- List of billing segments for this bill run -->
<BillingList>
</BillingList>
我需要添加第2記錄在CSV標記下等
<BillingList>
<Account>12345</Account>
<Billinfo>12445</Billinfo>
</BillingList>
<BillingList>
<Account>14456</Account>
<Billinfo>14467</Billinfo>
</BillingList>
我目前有下面的代碼:
#!/bin/awk -f
NR==FNR{ a[NR]=$0; next; }
/<BillingList>/{
print;
gsub("'","",a[++i]);
n=split(a[i],arr,",");
if(n!= 3) { next }
print "\t<Account>",arr[1],"</Account>";
print "\t<Billinfo>",arr[2],"</Billinfo>";
next;
}1
,但它只是取代了第一條記錄,然後停止。 我對unix完全陌生,所以請幫我解決這個問題。
輸出xml文件是事先存在還是從頭開始創建?你如何閱讀CSV文件?你現在的代碼是什麼樣的? –
我寫了下面的代碼下面的代碼,但它只是刪除了第一個實例#!/ bin/awk -f NR == FNR {NR] = $ 0; 下一個; } //{ print; gsub(「'」,「」,a [++ i]); n = split(a [i],arr,「,」); if(n!= 3){next} print「\ t 」,arr [1],「 」; print「\ t 」,arr [2],「 」; 下一個; } 1 –
您應該將該代碼添加到問題中,而不是將其添加爲註釋。 – JAL