2015-10-05 79 views
-1

我有一個看起來一個SGML文件有很多<p>段落已經暗示結束標記,像這樣的:如何添加SGML結束標籤?

<p>Here is one paragraph. 
<p>And here is another. This one contains <i>italics</i>. 
<p>Finally, here is another paragraph. 

上有這些段落沒有結束標記。我想使它看起來像這樣:

<p>Here is one paragraph.</p> 
<p>And here is another. This one contains <i>italics</i>.</p> 
<p>Finally, here is another paragraph.</p> 

有沒有一種簡單的方法來做到這一點使用OSS工具? (像vim,sed等?)

+0

什麼都不做,它會看起來一樣 – tinySandy

+0

良好的捕獲。複製粘貼錯誤。固定。 – Jono

回答

1

在vim中,考慮到您指定的輸入,您可以使用:%s/$/<\/p>/。 請注意,這僅適用於您的示例,其中每個段落都是一行。

如果是多行段落,首先加入所有行:%j,然後在開始標記:%s/ \+<p>/<\/p><p>/前添加一個結束標記,然後添加最終結束標記:%s/$/<\/p>/。最後用gqap重排文本。

0

%s/<p>\zs\(.*\)/\1<\/p>/應該在Vim中工作,但「經典」解決方案是%s/<p>/<\/p><p>/,然後將第一個</p>移動到文本的末尾。