使用正则表达式查找在 CentOS 7 上不起作用

使用正则表达式查找在 CentOS 7 上不起作用

我在查找和正则表达式方面遇到了问题。我想在 /etc 中查找名称以 a 或 b 开头的文件。我尝试了以下命令:

find /etc -type f -regex '^a'
find /etc -regextype sed -regex "^a"
find /etc -regextype egrep -regex '^a'
find /etc -regextype posix-egrep -regex '^a'

但不起作用。/etc 中有 20 个文件,其名称以 a 开头,但我的正则表达式找不到这些文件。我做错了什么?

问候 Paweł

答案1

-regex匹配完整路径,而不仅仅是文件名。

我想到的最接近的答案是:

find /etc -type f  -regex '.+/[ab][^/]+'

这与 a 匹配/,后跟ab,后跟所有不属于其他 的内容/

答案2

这曾经非常简单,只需:

find /etc -type f -name 'a*'

相关内容