我怎样才能删除所述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