我怎樣才能刪除所述HTML標記與sed?sed和惰性搜索特定的html標記與編號
例子:
<div id="header"><span id="navbar">... Content ...</span></div>
我試了一下:
sed 's!<div id=\"header\">.*\?</div>!!g'
記住,這要根據本regex reference
我怎樣才能刪除所述HTML標記與sed?sed和惰性搜索特定的html標記與編號
例子:
<div id="header"><span id="navbar">... Content ...</span></div>
我試了一下:
sed 's!<div id=\"header\">.*\?</div>!!g'
記住,這要根據本regex reference
這可能會爲你工作:
sed '
> /<div id="header"><span id="navbar">/{ # search for start tags
> s//\n/ # replace start tags with newline
> :a # label a
> /\n<\/span><\/div>/bb # search for end tags and if so goto label b
> s/\n./\n/ # end tags not found bump along a character
> ta # goto label a if last substitution ok
> :b # label b
> s/// # delete end tags and newline
> /^$/d # check for empty line and if so delete
> }' file
注:這期望開始/結束標籤在同一行上。
sed
不支持.*?
(貪婪匹配)工作。
您可以嘗試ssed
(super sed)。
如果您的目標是從文件中刪除html標籤及其內容,您可以嘗試以下命令。
注意:以下所有命令都是內聯編輯。運行此命令後,您要更改的文件將立即更改。在測試之前,請備份您的文件。
如果標籤全部在一行上,您可以嘗試以下操作。下面
sed -i 's/<div id=\"header\"><span id=\"navbar\".*<\/span><\/div>//g' /yourfile
如果標籤是在多個行上象例嘗試下面的命令。
<div id="header"><span id="navbar">
... Content ...
</span></div>
sed -i '/<div id=\"header\"><span id=\"navbar\">/,/<\/span><\/div>/g' /yourfile
注:如果您在OS X上工作,你將需要改變(SED -i)至(SED -i '')
與SED將是:
testers="<div id="header"><span id=\"navbar\">... Content ...</span> some stuf </div>"
echo $testers| sed -E 's/<[\w ="/]+>// g'
解決了ssed
代替sed
巫手段(超級SED),您可以安裝在任何POSIX系統非常容易,所以在這裏我走了。
testers="<div id="header"><span id=\"navbar\">... Content ...</span> some stuf </div>"
echo $testers| ssed -R -e 's/<[\w ="/]+>// g'
結果是。
... Content ... some more stuf
乾杯。
鑑於來源,我可以使用Android NDK編譯它們嗎?正如該網站所說,它不需要支持庫。如果我有編譯的二進制文件,sed命令是否按預期工作? – user1263513 2012-04-23 12:07:29