【发布时间】:2017-12-28 06:36:03
【问题描述】:
我需要用 null 替换下面的字符串。它基本上是一个 xml 文件,我想使用 unix 命令省略 xmnls 部分。
xmlns:stl="http://www.xxx.yy/1234/stl-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
我已尝试使用以下命令:
perl -pi -e "s+xmlns:stl="http://www.xxx.yy/1234/stl-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"++" filename.xml
sed 's+xmlns:stl="http://www.xxx.yy/1234/stl-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"++' filename.xml
效果不好。 :( 专家们对如何处理有任何想法吗?
PS:它是一条在字符串后面有标签的连续线
值xmlns:stl="http://www.xxx.yy/1234/stl-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"。所以不能删除行
【问题讨论】:
-
添加一个完整的示例输入行并使用您尝试过的命令获得输出......另外,可能像 xmlstarlet 这样的 xml 解析器会比使用正则表达式更好
-
要编辑您的文件,请尝试使用
-i标志:sed -i。