我需要用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"
。所以无法删除行
答案 0 :(得分:1)
您的sed
行运行得相当不错,但是:
sed -i
。要使其可预测,您需要使用\
转义正则表达式特殊字符,如下所示:
sed -i 's+xmlns:stl="http://www\.xxx\.yy/1234/stl-1\.0" xmlns:xsi="http://www\.w3\.org/2001/XMLSchema-instance"++' filename.xml