Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从bash替换XML中的字符串,而不写入正则表达式_Xml_String_Bash_Replace_Xml Parsing - Fatal编程技术网

从bash替换XML中的字符串,而不写入正则表达式

从bash替换XML中的字符串,而不写入正则表达式,xml,string,bash,replace,xml-parsing,Xml,String,Bash,Replace,Xml Parsing,我有一个大的平面文件,其中包含我要删除的重复字符串的许多实例: <content type="html"> &lt;p&gt; &lt;/p&gt; &lt;p&gt;Jump around on couch, meow constantly until given food.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; </summary> 如

我有一个大的平面文件,其中包含我要删除的重复字符串的许多实例:

<content type="html">
  &lt;p&gt; &lt;/p&gt;
  &lt;p&gt;Jump around on couch, meow constantly until given food.&lt;/p&gt;
  &lt;p&gt; &lt;/p&gt;
</summary>
如何在不编写正则表达式的情况下从bash中删除重复字符串?

我使用了一个名为的工具,它不需要我编写任何正则表达式:

$ rpl '&lt;p&gt; &lt;/p&gt;' '' /tmp/file

Really DELETE all occurences of &lt;p&gt; &lt;/p&gt; (case sensitive)? (Y/[N]) Y
Replacing "&lt;p&gt; &lt;/p&gt;" with "" (case sensitive) (partial words matched)
A Total of 55 matches replaced in 1 file searched.

使用brew安装rpl通过自制安装。在2分钟内完成。

了解正则表达式后,它将是:

sed -i.bck 's~&lt;p&gt; &lt;/p&gt;~~g' /tmp/file

由于它是xml,请查看。。我没有亲自使用过它,所以我不知道如何将它用于此案例…感谢您提供的解决方案。我已经更新了这个问题,试图更清楚地说明我想要实现什么,以及为什么RegExp可能不是满足我需求的最佳方法。
sed -i.bck 's~&lt;p&gt; &lt;/p&gt;~~g' /tmp/file