find命令要使用正则表达式需要结合-regex参数
另,-type参数可以指定查找类型(f为文件,d为文件夹)
bash
root@localhost:~/regular_expression# ls -alh
总计 8.0K
drwxr-xr-x. 5 root root 66 4月 8日 16:26 .
dr-xr-x---. 19 root root 4.0K 4月 8日 16:25 ..
drwxr-xr-x. 2 root root 6 4月 7日 09:55 1213
drwxr-xr-x. 2 root root 6 4月 8日 16:26 cc
-rw-r--r--. 1 root root 660 4月 7日 15:04 regular_express.txt
drwxr-xr-x. 2 root root 6 4月 7日 09:54 't a'
bash
# .* -->代表零个或多个任意字符的意思
#因为 . 与 * 两者是 "相乘" 的关系,等于 . 所代表的 一个任意字符 乘以 * 所代表的零个到无穷多个字符。所以,包含从零个开始到任意多个字符。
#查找以 .txt结尾的文件
root@localhost:~/regular_expression# find . -type f -regex ".*\.txt"
./regular_express.txt
root@localhost:~/regular_expression# find . -type f -regex ".*c"
#查找包含任意字符的文件
root@localhost:~/regular_expression# find . -type f -regex ".*"
./regular_express.txt
root@localhost:~/regular_expression# find . -regex ".*"
.
./t a
./1213
./regular_express.txt
./cc
root@localhost:~/regular_expression# find . -regex ".*c"
./cc
root@localhost:~/regular_expression# find . -regex ".*c$"
./cc
root@localhost:~/regular_expression# find . -regex "^.*c$"
./cc
#指定查找类型为文件夹类型
root@localhost:~/regular_expression# find . -type d -regex "^.*c$"
./cc