sed命令将文件名写入HTML注释

时间:2010-09-02 18:20:35

标签: sed

我正在寻找一个sed命令,使用find,我可以获取JSP文件的目录树,并将HTML注释中的文件名写入文件顶部

这将允许我查看HTML源代码中的遗留应用程序JSP调用树。

我认为这对于才华横溢的sed大师来说是一个单一的...

类似的东西:

find . -name '.jsp' -exec sed ? ? ? {} \;

使用xargs的某些内容更合适,但我认为sed是完成这项工作的工具。

2 个答案:

答案 0 :(得分:1)

在Unix上,文件名将包含斜杠(/),它们是sed的特殊字符,因此我建议使用这种更简单的方法将文件名写入文件的 bottom :< / p>

find . -name '*.jsp' -exec sh -c "echo '<\!-- {} -->' >> '{}'" \;

要在文件的 top 处写入文件名,请使用:

find . -name '*.jsp' -exec sh -c \
     'echo "<!-- {} -->" > "{}.new" && cat "{}" >> "{}.new" && mv "{}.new" "{}"' \;

N.B。文件名可能包含可能导致HTML无效的字符,例如&,虽然我怀疑JSP可能有这么奇怪的名字。

答案 1 :(得分:1)

如果您想使用sed,可以尝试

find -name "*.jsp" -exec sed -i '1i <!-- {} -->' {} \;

/出现时,我可以正常工作。