grep recursively for a specific file type on Linux
我们是否可以在某些文件夹中递归搜索一个词(如"onblur"),只搜索特定文件(html文件)?
1 | grep -Rin"onblur" *.html |
这不会有任何回报。但是,
1 | grep -Rin"onblur" . |
返回所有可用文件的
考虑检查这个答案和那个答案。
这还可以帮助您:递归地grep某些文件类型commandlinefu.com。
命令是:
1 | grep -r --include="*.[ch]" pattern . |
在你的例子中,它是:
1 | grep -r --include="*.html""onblur" . |
1 | grep -r --include"*.html" onblur . |
得到:如何递归地grep?
你也可能喜欢银搜索者。-
1 | ag --html onblur |
它按regexp搜索,默认情况下在当前目录中是递归的,并且有预定义的扩展集来搜索(在本例中是HTML映射到.htm、.html、.shtml、.xhtml)。默认情况下,也会忽略二进制文件、打印文件名、行号和着色输出。
一些选项-
1 2 3 4 5 6 7 8 9 | -Q --literal Do not parse PATTERN as a regular expression. Try to match it literally. -S --smart-case Match case-sensitively if there are any uppercase letters in PATTERN, case-insensitively otherwise. Enabled by default. -t --all-text Search all text files. This doesn't include hidden files. --hidden Search hidden files. This option obeys ignored files. |
对于支持的文件类型列表,运行
它唯一缺少的就是能够指定一个扩展名为filetype的文件类型,在这种情况下,您需要依靠grep with--include。