bash grep通过正则表达式搜索文件

时间:2015-07-10 05:06:15

标签: regex bash

我的主目录中有一个名为database.2015-07-10.sql的文件 我想知道这些文件的数量。

grep -l 'database' /home/user/* | wc -l

但是当我尝试

grep -l 'database\.[0-9]{4}*' /home/user/*

grep -l 'database\.[0-9]*' /home/user/*

它没有给出结果,但是

grep -l 'database\.[0-9]*' /home/user/*

给出所有结果,包括database12.sql,database1.sql等 我不理解grep中的正则表达式。它与php中的正则表达式有什么不同吗?

1 个答案:

答案 0 :(得分:2)

grep搜索内容,而不是文件名。你应该使用

ls /home/user/database*.sql|wc -l

或使用

ls|grep 'YOUR PATTERN HERE'|wc -l