我想获取文件夹中所有文件的所有注释。
我尝试过的是
ls -R | awk '/<!--/,/-->/' >> result
但结果文件中没有显示任何内容。
但如果我将其用于awk '/<!--/,/-->/' >> result
文件,它就可以工作。
html 注释标签是<!-- some text here -->
。
我该如何修复它。
答案1
您的 awk 正在查看文件名而不是文件内容。以下是一种更好的方法:
find ./ -type f -execdir grep "<!--.*-->" "{}" +
它用于find
获取所有文件的列表,然后将其输入到grep
搜索您要查找的文本的程序中。然后它将输出任何匹配文件的名称,后跟冒号 (:) 和匹配行的文本。
答案2
ls -R
将仅列出文件名而不是文件内容。您可以使用grep
命令以更简单的方式执行此操作。
grep -rn '<!--.*-->'
或者如果想要使用它来执行此操作awk
,那么您可以使用cat *
它来列出目录中的所有文件内容。
cat * | awk '/<!--/,/-->'
注意:仅当您的目录包含文件时,此方法才有效。
如果你想列出所有目录中的所有内容。你可以试试这个
find . -type f | xargs cat | awk '/<!--/,/-->/'