贝壳通配符

时间:2011-04-28 19:54:20

标签: shell grep

我试图google这个但是找不到满意的答案。它可能非常简单,如果它是基本的东西,那么道歉

有什么区别

grep "first" */*html

 grep "first" ./*html

我知道第二行中的点(。)代表“当前目录”

2 个答案:

答案 0 :(得分:4)

grep "first" */*html

从当前目录扩展为所有子目录中的所有html文件(仅限一个级别)。

grep "first" ./*html

扩展为当前目录中的所有html文件。 './'是当前目录的限制。

修改

Per @lisko的评论

隐藏文件和目录意味着以“。”开头的文件。字符。如果您要搜索 所有 文件,请使用

grep "first" ./*html ./.*html */*html */.*html

我希望这会有所帮助。

答案 1 :(得分:3)

第一行将浏览所有匹配文件名的文件,这些文件以“html”结尾当前目录下的一个目录,因为第一个“*”将匹配任何目录。

第二行将通过当前目录中与“html”结尾的文件名匹配的所有文件进行grep。

请注意,隐藏文件或隐藏目录不会匹配。