xmlstarlet – 删除换行符
发布时间:2020-12-05 05:12:27 所属栏目: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
我有以下文件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 (编辑:十堰站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – Pycharm tensorflow ImportError但可以正常使用Te
- linux – Unix vs BSD vs TCP vs Internet套接字?
- 如何从linux上的命令行安装NuGet
- Linux Top 命令解析 比较详细--转
- linux – sed:如何删除匹配包含正斜杠的模式的行?
- 如何查看在命名管道中排队的数据量?
- qemu – “xx-softmmu”和“xx-linux-user”之间有什么区别
- linux – 具有限制的Find -type f
- mysql – 使用params在bash中执行.sql文件
- linux – 用于将文件夹名称复制并添加到多个子目录中的文件