代码之家  ›  专栏  ›  技术社区  ›  Rich

希望在HTML文件的大层次结构中将所有<tt>标记转换为<code>

  •  2
  • Rich  · 技术社区  · 14 年前

    我有近100个HTML文件使用 <tt> 标记到标记内联代码,我希望将其更改为更有意义的 <code> 标签。我在考虑做一件大事 sed -i 's/<tt>/<code>/g' 命令,但我很好奇是否有一个更合适的工业机制来改变大型HTML树上的标记类型。

    3 回复  |  直到 14 年前
        1
  •  3
  •   Gadolin    14 年前

    你能做的最好的事就是
    XMLSTART:
    xml ed -r //b -v code

    它是异常强大的。见 http://xmlstar.sourceforge.net/ , http://www.ibm.com/developerworks/library/x-starlet.html

        2
  •  2
  •   Loïc Février    14 年前

    如果您在Linux环境中,那么 sed 这是一种非常简单、简短和快速的方法。

    已更正的命令:

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

    一些文本编辑器或IDE还允许您在目录中进行搜索并用文件名上的筛选器替换。

        3
  •  0
  •   ISDi    14 年前

    我曾一度在Windows上使用超级编辑来执行这些任务。UE有一个“在文件中查找和替换”功能,对这一点非常有用。我将它指向目录树的顶部,其中包含我要更改的文件,告诉它处理子目录,给它我要更改的文件的扩展名,告诉它要更改什么,要更改什么,然后继续。

    如果您必须在Linux中编写这个脚本,那么我认为SED解决方案或Perl/PHP脚本将非常有用。