我有一些包含混合二进制和xml数据的大文件。我想提取文件中多次出现的2个XML标记之间的所有值。模式如下:<C99><F1>050</F1><F2>random value</F2></C99>
。部分XML数据未格式化,所有内容都在一行中。
我需要来自<F1>
的{{1}}和</F1>
之间的所有值,其中值介于050和999之间(其他字段下也存在<C99>
但我只需要值来自C99的F1)。我需要计算它们,看看有多少C99的F1值在050到999之间。
我想要一个提示,我可以轻松地获取和提取这些值(使用cat和grep?或sed?)。一旦将值导出到文件中,就很容易进行排序和计数。
我的临时解决方案:
从文件中删除所有二进制数据后,我可以运行以下命令:
<F1>
这将从cat filename | grep -o "<C99><F1>......." > file.txt
<C99><F1>.
.....
在文本文件中导出后,我将<C99><F1>001
<C99><F1>056
<C99><F1>123
<C99><F1>445
替换为空,然后对剩余值进行排序和计数。
谢谢!
答案 0 :(得分:2)