我創造了所有我的電話文件一個大文件all.xml
與轉換通話記錄備份和恢復XML callist成CSV
echo '<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<!--File Created By Call Logs Backup & Restore v3.70 on 23/12/2016 03:02:21-->
<?xml-stylesheet type="text/xsl" href="calls.xsl"?>
<calls count="500">
'>all.xml
for i in calls-*.xml; do head -n-1 "$i"|tail -n+5; done>>all.xml
echo "</calls>">>all.xml
現在,我嘗試將callist從這種格式導出爲CSV:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<!--File Created By Call Logs Backup & Restore v3.70 on 23/12/2016 03:02:21-->
<?xml-stylesheet type="text/xsl" href="calls.xsl"?>
<calls>
<call number="+492345678" duration="0" date="1426694707547" type="3" readable_date="18.03.2015 17:05:07" contact_name="Someone" />
<call number="+492345679" duration="3" date="1426695646292" type="2" readable_date="18.03.2015 17:20:46" contact_name="Someone else" />
<call number="+492345670" duration="0" date="1426695687556" type="2" readable_date="18.03.2015 17:21:27" contact_name="Someone" />
</calls>
我試着用xmlstarlet
:
xmlstarlet sel -B -t -m "//calls/call" -n -m "*" -v . -o , all.xml |less
但只是給了我我想,這是一個空的列表,因爲每個調用中都沒有值,但是在每個調用元素的選項中。
我找不到manuals, I found的幫助 如何獲取CSV中的選項?
很酷,我還在concat中添加了引號''\「''' – rubo77