我正在處理OFX(銀行交易)文件。我的銀行不使用<NAME>
標籤指定收款人,但此信息是<MEMO>
標籤的子字符串。sed處理OFX,從<MEMO>提取收款人並在<NAME>上打印
所以,我的文件是這樣的:
...ofx headers and other stuff
...line below is a transaction
<STMTTRN>
<TRNTYPE>OTHER</TRNTYPE>
<DTPOSTED>20160609120000</DTPOSTED>
<TRNAMT>-4.00</TRNAMT>
<FITID>2016060914000</FITID>
<CHECKNUM>000000700132</CHECKNUM>
<REFNUM>700.132</REFNUM>
<MEMO>Credit Card Payment - 09/06 18:37 Walmart 2th street</MEMO>
</STMTTRN>
...continues other transactions and end of file
我想每一個<MEMO>
標籤匹配,提取收款人姓名(Walmart 2th street
在這個例子中)和寫有<NAME>
新線。我的輸出是這樣的:
...ofx headers and other stuff
...line below is a transaction
<STMTTRN>
<TRNTYPE>OTHER</TRNTYPE>
<DTPOSTED>20160609120000</DTPOSTED>
<TRNAMT>-4.00</TRNAMT>
<FITID>2016060914000</FITID>
<CHECKNUM>000000700132</CHECKNUM>
<REFNUM>700.132</REFNUM>
<MEMO>Credit Card Payment - 09/06 18:37 Walmart 2th street</MEMO>
<NAME>Walmart 2th street</NAME>
</STMTTRN>
...continues other transactions and end of file
作爲awk的另一個工具可能是一個解決方案。
使用-i ,我有一個拉丁字符正則表達式不匹配的行:CartãodeCrédito - 09/06 18:37 Walmart 2th street –
Filipe
我放棄了非ascii字符。我在下面寫了一個答案來格式化代碼。 – Filipe