想要将所有<tt>标签转换为<code> in a large hierarchy of HTML files</code> </tt>

时间:2010-09-27 13:16:38

标签: html sed

我有近100个HTML文件使用<tt>标记来标记内联代码,我想将其更改为更有意义的<code>代码。我正在考虑按照大量sed -i 's/<tt>/<code>/g'命令的顺序执行某些操作,但我很好奇是否有更合适的工业机制来更改大型HTML树上的标记类型。

3 个答案:

答案 0 :(得分:3)

你可能做的最好的事情是使用
xmlstartlet:
xml ed -r //b -v code

它非常强大。请参阅http://xmlstar.sourceforge.net/http://www.ibm.com/developerworks/library/x-starlet.html

答案 1 :(得分:2)

如果您使用的是Linux环境,那么sed非常简单,简单,快捷。

更正了命令:

SAVEIFS=$IFS
IFS="\n"

for f in `find . -name "*.htm"` do sed -i 's/tt>/code>/g' "$f" ;done

IFS=$SAVEIFS

某些文本编辑器或IDE还允许您使用文件名过滤器在目录中进行搜索和替换。

答案 2 :(得分:0)

有一次执行此类任务我在Windows上使用UltraEdit。 UE具有查找和替换文件功能,该功能对此非常有用。我将它指向包含我想要更改的文件的目录树的顶部,告诉它处理子目录,为它提供我想要更改的文件的扩展名,告诉它要更改的内容以及将其更改为的内容去。

如果你必须在linux中编写脚本,那么我认为sed解决方案或perl / php脚本将运行良好。