Shell - 如何处理find -regex?

Far*_*rah 6 regex shell find

我需要在一个目录中查找所有以"course"开头的子目录,但是他们下一个版本.例如

course1.1.0.0
course1.2.0.0
course1.3.0.0
Run Code Online (Sandbox Code Playgroud)

那么我应该如何修改我的命令,让它给我正确的目录列表?

find test -regex "[course*]" -type d
Run Code Online (Sandbox Code Playgroud)

fed*_*qui 9

你可以做:

find test -type d -regex '.*/course[0-9.]*'
Run Code Online (Sandbox Code Playgroud)

它将匹配名称course加上数字和点数的文件.

例如:

$ ls course*
course1.23.0  course1.33.534.1  course1.a  course1.a.2
$ find test -type d -regex '.*course[0-9.]*'
test/course1.33.534.1
test/course1.23.0
Run Code Online (Sandbox Code Playgroud)