在做Linux作業,遇到一題用sed替換掉文件中的特殊字符,其中HTML標簽就是一大堆特殊字符。
先來說說sed的替換使用“s/待替換的字符/將替換成的字符/”。
其后還可以跟g,即“s///g”,表示全局替換,整個文本都會執行替換詞。
再者,遇到相同字符串中含有大小字母,忽略大小字母進行替換,則使用i,即“s///i” 。
如果遇到需要執行多個sed命令,可以使用-e,同時執行多個命令。如:sed -e "2d" -e "s/ABC/XYZ/i";
現在再來說說重點,如何替換:
1.只想單純過濾掉html標簽,顯示內容:
"s/<[^>]*>//g"
2.識別出html標簽(這個要換成與html標簽對應的字符):
下面的是一些對應字符替換
s/<title>/.TL\n/g
s/</title>//g
s/<author>/.AU\n/g
s/</author>//g
s/<institution>/.AI\n/g
s/</institution>//g
s/<abstraction>/.AB/g
s/</abstraction>/.AE/g
s/<i>/.I /g
s/</i>/\n/g
s/<h1>/.NH\n/g
s/</h1>//g
s/<p>/.PP/g
s/</p>//g
s/<foot>/.FS/g
s/</foot>/.FE/g
s/<li>/.IP/g
s/</li>//g
s/<quote>/.QP/g
s/</quote>//g
s/<table>/.TS/g
s/</table>/.TE/g
s/<equation>/.EQ/g
s/</equation>/.EN/g
s/<picture>/.PS/g
s/</picture>/.PE/g
s/<pre>/.DS/g
s/</pre>/.DE/g