使用regex和grep在目录中搜索文件

时间:2017-01-15 11:07:02

标签: regex

所以我必须找到/ etc目录中以a,b或c

开头的每个文件

我拥有的是:grep -l '/^[a-cA-C].*/g' /etc/*虽然我不断收到/ etc目录中的每个文件。

我使用grep -l获取每个文件(我猜使用findgrep并不重要

'/^[a-cA-C].*/g'查找以a,b或c大写或小写开头的所有内容,后跟以全局搜索结尾的零个或多个字符,以便在第一个匹配后不会停止

我知道正则表达式是正确的,因为我已经在网上用正则表达式检查了它。

编辑:找到了解决方案 - > ls / etc / [a-cA-C] *

2 个答案:

答案 0 :(得分:0)

这是我的例子:

find ./ -type f -exec basename {} \; | grep -Ei '^(a|b|c)'

它以递归方式搜索并查找所有文件,但仅返回文件的basename输出,是否适合您?

答案 1 :(得分:0)

你可以尝试这个:

find | grep '^\./[abc]'