2017-07-11 6 views
0

を書くことなく、bashのからXML文字列を交換し、私は私が削除したい繰り返し文字列の多くのインスタンス含む大きなフラットファイル持っている:私はドン解決策を探していますyou can't parse [X]HTML with regexので正規表現

<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> 

を私自身の正規表現を書く必要がありません。運が無ければtrを使ってみました。ここに私の所望の出力です:

<content type="xhtml"> 

    &lt;p&gt;Jump around on couch, meow constantly until given food.&lt;/p&gt; 

</summary> 

どのように私は正規表現を記述することなくbashのから繰り返し文字列を削除することができますか?

+1

それがXMLであることから、https://stackoverflow.com/tags/xmlstarlet/infoに見..私は個人的にそれを使用していません、だから私はそれがこの場合に使用できる方法はありません... – Sundeep

答えて

-1

私は、任意の正規表現を書くために私を必要としませんでしたrplと呼ばれるツールを使用:

brew install rplと自作を介してインストール
$ 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. 

を。 2分で終了。正規表現の知識を用いて

-1

それは次のようになります。

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

ソリューションを提供していただきありがとうございます。私は、達成しようとしていることと、RegExpが私のニーズに最も適した方法ではないことを明らかにするために、質問を更新しました。 –