我想將文件分成兩個文件。 如果文件名是example.txt
那麼它將被分成兩個文件,如EX1.txt
或EX2.txt
。我想用perl腳本將一個文件分成兩個不同的文件
拆分取決於每行中的第二個字段。例如:如果HDR線有TEA003890459
作爲第二場,那麼輸出將會去EX1.txt
但是如果HDR有TEA003886004
那麼輸出進入EX2.txt
。 我也想要統計索賠號碼。
我要做到這一點使用以下邏輯:
if Header-Row then
if Dummy cost center then
write to Gas file
keep in mind: Claim-Nummer (eg. Array or Hash)
else
write to normal file
end if
else if Detail-Row then
if kept Claim-Nummer then
write to Gas file
else
write to normal file
end if
end if
該文件包含以下數據:
HDR^TEA003890459^082582^Mohd Jamil^Jamili Fahmi Bin^^458^+^92000^+^92000^+^0000^+^0000^+^0000^^0^^0^^0^^0^^0^^0^20130307^^^^^^^222^MY0BD^2^[email protected]^ MY0BCC#6482362304
DTL^TEA003890459^E^MY0BCC#6482362304 641301137^+^47000^MFA^20130209^Medical Expenses [Family]^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Medical
DTL^TEA003890459^E^MY0BCC#6482362304 641301137^+^45000^MGE^20130304^Medical Expenses (Employee clinica^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Medical
HDR^TEA003886004^082770^Bin Omar^Mohamad Fadzlizam^^458^+^135800^+^135800^+^0000^+^0000^+^0000^^0^^0^^0^^0^^0^^0^20130307^^^^^^^222^MY0BD^4^[email protected]^ MY0BCC#6485163100
DTL^TEA003886004^E^MY0BCC#6485163100 641301137^+^25000^MFA^20130221^Medical Expenses [Family]^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Claim
DTL^TEA003886004^E^MY0BCC#6485163100 641301137^+^37150^MFA^20130224^Medical Expenses [Family]^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Claim
DTL^TEA003886004^E^MY0BCC#6485163100 641301137^+^23650^MFA^20130226^Medical Expenses [Family]^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Claim
DTL^TEA003886004^E^MY0BCC#6485163100 641301137^+^50000^MGE^20130304^Medical Expenses (Employee clinica^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Claim
HDR^TEA003886162^082792^Lim^Jia Jieh^^458^+^280400^+^280400^+^0000^+^0000^+^0000^^0^^0^^0^^0^^0^^0^20130305^^^^^^^222^MY0BD^4^[email protected]^ MY0BCC#6482363474
DTL^TEA003886162^E^MY0BCC#6482363474 641301137^+^110000^MGE^20130131^Medical Expenses (Employee clinica^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Medical claim 31/1,20/2,28/2
DTL^TEA003886162^E^MY0BCC#6482363474 641301137^+^60000^MGE^20130220^Medical Expenses (Employee clinica^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Medical claim 31/1,20/2,28/2
DTL^TEA003886162^E^MY0BCC#6482363474 641301137^+^50400^MGE^20130220^Medical Expenses (Employee clinica^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Medical claim 31/1,20/2,28/2
DTL^TEA003886162^E^MY0BCC#6482363474 641301137^+^60000^MGE^20130228^Medical Expenses (Employee clinica^^^0^^0^^0^^0^^0^^0^^0^^0^^C16Medical claim 31/1,20/2,28/2
我試圖改寫你的問題。請檢查我是否意外更改了意思。 **問題:**①什麼是「TDR」? ②什麼是「虛擬成本中心」? ③什麼是「* Gas *文件」? ③你的示例文件不會被分成三個文件嗎? ④您的文件看起來像逗號分隔數據(CSV),使用'^'作爲字段分隔符。你能承認這一點嗎? – amon 2013-03-20 13:40:01