我在查找和正则表达式方面遇到了问题。我想在 /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 匹配/
,后跟a
或b
,后跟所有不属于其他 的内容/
。
答案2
这曾经非常简单,只需:
find /etc -type f -name 'a*'