【发布时间】:2015-01-01 08:41:55
【问题描述】:
我在一行中有以下数据。
2014-12-30 00:00:02,317 pool-14076-thread-3 DEBUG [com.fundamo.connector.airtime.service.AirtimeService] ERS Response XML - <soap:Envelope><soap:Body><TopUpPhoneAccountResult><MessageID>1913351092</MessageID><MessageRefID>BD9123000000003</MessageRefID><TopUpPhoneAccountStatus><StatusID>200</StatusID><Comment>Transaction Successful</Comment></TopUpPhoneAccountStatus><TopUpPhoneAccountAmountSent><Amount>2000</Amount><AmountExcludingTax>2000</AmountExcludingTax><TaxName/><TaxAmount>0</TaxAmount><PhoneNumber>1766910910</PhoneNumber><ResponseDateTime>20141230000002320</ResponseDateTime><ServiceType>PRETOP</ServiceType><CurrencyCode>TK</CurrencyCode></TopUpPhoneAccountAmountSent></TopUpPhoneAccountResult></soap:Body></soap:Envelope>
现在我想从中获取一些值。我使用了这个命令:
cat ERS_RESPONSE_30Dec_atp11.txt |awk -F'<' '{print $1 "," $5 "," $7 "," $10 ","$12"," $16 "," $23}'
输出:
2014-12-30 00:00:02,317 pool-14076-thread-3 DEBUG [com.fundamo.connector.airtime.service.AirtimeService] ERS Response XML - ,MessageID>1913351092,MessageRefID>BD9123000000003,StatusID>200,Comment>Transaction Successful,Amount>2000,PhoneNumber>1766910910
但是,我只想要下面显示的字段。
2014-12-30 00:00:02,317 ,1913351092,BD9123000000003,200,Transaction Successful,2000,1766910910
我该怎么办?
【问题讨论】:
-
@nu11p01n73R 如果数据在一行,您必须确保在编辑帖子时它保持在一行。您确实从一条长线创建了 4 行。
-
@Basudev 你有两个
2000的条目,你想要其中的哪一个作为输出?<Amount>2000</Amount><AmountExcludingTax>2000</AmountExcludingTax>。<Amount>值?或<AmountExcludingTax>? -
我的数据是一行.....
-
@KasiyA:我想要第一个值..
2000 -
@nu11p01n73R 没问题,新年快乐 :)
标签: bash awk sed solaris-10