【linux shell】 find 常用选项
find path -name “通配符”通配符搜索 find path -iname file忽略大小写搜索 find path ( -name “通配符1” -o “通配符2” )
[edemon@CentOS tmpDir]$ ls
d1 d2 d3 f1 f2 f3
[edemon@CentOS tmpDir]$ find . ( -name "f[1-3]" -o -name "d[1-3]" )
./f2
./d3
./d2
./f1
./f3
./d1
find path -path “通配符”通配符匹配路径 find . -path "*/*1"
./f1
./d1
find . -regex “regex”使用正则表达式进行路径的匹配。 find . -regex ".*1$"
./f1
./d1
find . ! -name “通配符”[edemon@CentOS tmpDir]$ find . ! -name "*1"
.
./f2
./d3
./d2
./f3
匹配出所有不符合模式的文件。 find . -maxdepth 1 -name设定最大的目录搜索深度。 find . -maxdepth 1 -name设定最小的目录搜索深度。 find . -type option
将文件和目录分别列出可不是个容易事。不过有了find就好办了。 -atimeUnix/Linux文件系统中的每一个文件都有三种时间戳,如下所示。 访问时间(-atime):用户最近一次访问文件的时间。 修改时间(-mtime):文件>内容最后一次被修改的时间。 变化时间(-ctime):文件元数据(例如权限或所有权)最后一次改变的时间。 -amin
-size
-newer使用-newer,我们可以指定一个用于比较时间戳的参考文件,然后找出比参考文件更新的文件。 -perm
-delete
!寻找不满足 … 的文件。 -user找出user拥有的所有文件 -exec$ find . -name "*.c" -exec printf "file: %sn" {} ;
file: ./gra.c
file: ./bless1.c
file: ./.metadata/.plugins/org.eclipse.cdt.make.core/specs.c
file: ./lucky.c
file: ./bucket/src/bucket.c
file: ./bucket_sort/src/bucket_sort.c
file: ./chello.c
{}是一个与-exec选项搭配使用的特殊字符串。对于每一个匹配的文件,{}会被替换成相应的文件名。 忽略搜索目录
$ find . -name "*.c"
./lucky.c
./bucket/src/bucket.c
./bucket_sort/src/bucket_sort.c
./chello.c
# 忽略bucket目录
$ find . ( -name bucket -prune ) -o ( -name "*.c" )
./lucky.c
./bucket
./bucket_sort/src/bucket_sort.c
./chello.c
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |