我想获取文件夹中所有文件的所有注释。
我试过的是
ls -R | awk '/<!--/,/-->/' >> result
但它在结果文件中没有显示任何内容。
但如果我对一个文件使用awk '/<!--/,/-->/' >> result
,它就可以工作了。
html注释标签是<!-- some text here -->
。
我应该如何修复它。
您遇到的问题是ls -R
创建了一个文件名列表,您正在搜索您的模式。最有可能的是,没有一个文件的名称与您的注释分隔符模式匹配(如果匹配,您可能会遇到某些…复杂的文件名;或者稍后会遇到)。
您希望搜索文件的内容,而不是文件名。大致如下:
find . -type f -name "*.html" -print0 | xargs -0 awk '....'
但是,对于解析HTML,HTML解析器可能比awk
更好。