在 Linux 中使用 find
结合正则表达式查找文件时,需明确 -regex
参数的匹配规则和语法。默认情况下,-regex
匹配的是文件的全路径(包括目录),而非仅文件名。建议通过 -regextype
指定正则类型(如 posix-extended
),并通过 .*
或 ^
限定匹配范围。例如:find /path -regextype posix-extended -regex ".*/[0-9]{4}\.txt"
会匹配文件名包含4位数字的 .txt
文件。注意转义特殊符号(如 .
),并优先用单引号包裹正则表达式以避免 Shell 解析干扰。
如何在 Linux 中结合 find 和正则表达式查找匹配的文件?
在 Linux 中,可通过 find
命令的 -regex
参数结合正则表达式进行文件匹配。需注意以下要点:
-regex
默认匹配完整路径,正则语法需符合find
的规范(如使用.*
代替*
);- 添加
-regextype
指定正则类型(如posix-extended
); - 使用
-iregex
忽略大小写; - 示例:
find /path -regextype posix-extended -regex ".*\\.(txt|log)$"
匹配后缀为 txt 或 log 的文件。
更多回答
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别