xmlstarlet – 删除换行符
发布时间:2020-12-25 19:40:32 所属栏目:Linux 来源:网络整理
导读:我有以下文件log.xml: entry messageLine 1 Line 2 and so on/message/entry 在CentOS 5.4上使用xmlstarlet 1.0.1,如果我运行以下命令,同时删除消息中的换行符: xml sel -t -m //entry -v "translate(message,'#xa;','@')" log.xml 结果是: Line 1@ Line
我有以下文件log.xml: <entry> <message>Line 1 Line 2 and so on</message> </entry> 在CentOS 5.4上使用xmlstarlet 1.0.1,如果我运行以下命令,同时删除消息中的换行符: xml sel -t -m //entry -v "translate(message,'
','@')" log.xml 结果是: Line 1@ Line 2 and so on 在CentOS 6上使用xmlstarlet: 1.3.1 compiled against libxml2 2.7.6,linked with 20706 compiled against libxslt 1.1.26,linked with 10126 我会收到: Line 1 Line 2 nd so on 注意“和”转换为空.我想这不是xmlstarlet的问题,而是libxslt的一些变化. 任何想法如何解决它? UPDATE 添加字母“a”转换为空的问题. 解决方法您可以通过定义包含换行符值的变量来以一般方式解决此问题:--var linebreak -n --break 然后使用该变量作为translate函数的第二个参数: xml sel -t -m //entry --var linebreak -n --break -v "translate(message,$linebreak,'@')" log.xml (编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
未处理完善
-
无相关信息
最新更新