列出文件并使用awk获取注释



我想获取文件夹中所有文件的所有注释。

我试过的是

ls -R | awk '/<!--/,/-->/' >> result

但它在结果文件中没有显示任何内容。

但如果我对一个文件使用awk '/<!--/,/-->/' >> result,它就可以工作了。

html注释标签是<!-- some text here -->

我应该如何修复它。

您遇到的问题是ls -R创建了一个文件名列表,您正在搜索您的模式。最有可能的是,没有一个文件的名称与您的注释分隔符模式匹配(如果匹配,您可能会遇到某些…复杂的文件名;或者稍后会遇到)。

您希望搜索文件的内容,而不是文件名。大致如下:

find . -type f -name "*.html" -print0 | xargs -0 awk '....'

但是,对于解析HTML,HTML解析器可能比awk更好。

最新更新