我有一些包含混合二進制和xml數據的大文件。我想提取在文件中有多個事件的2個XML標籤之間的所有值。模式如下:<C99><F1>050</F1><F2>random value</F2></C99>
。部分XML數據沒有格式化,所有內容都在一行中。如何提取2個已知字符串之間的值
我需要<F1>
和</F1>
之間的所有值從<C99>
其中值範圍050和999(<F1>
下等領域中也存在,但我需要從C99 F1的唯一值)之間。我需要對它們進行計數,看看有多少C99的F1值在0到999之間。
我想要一個提示,我可以如何輕鬆獲取並提取這些值(使用cat和grep?或sed?)。一旦將值導出到文件中,排序和計數就很容易完成。
我的臨時解決方案:
從文件中刪除所有的二進制數據後,我可以運行下面的命令:
cat filename | grep -o "<C99><F1>......." > file.txt
這將導出所有字符串第12個字符開始<C99><F1>.
<C99><F1>001
<C99><F1>056
<C99><F1>123
<C99><F1>445
.....
一旦以文本文件形式導出,我將其替換爲<C99><F1>
,然後對剩餘值進行排序和計數。
謝謝!
這可能會帶來太多的downvotes,除非你顯示至少一些努力和嘗試解決你自己的問題 –
使用任何XMLParser的 –
它不會使用XML解析工作,因爲在二進制格式的一些數據,我不無論如何需要它。 – spiderpc