linux find prune exec 排除某目录或文件 执行
2013-04-12 14:39
330 查看
原文地址:/article/7987259.html
查找cache目录下不是html的文件
find ./cache ! -name '*.html' -type f
列出当前目录下的目录名,排除includes目录,后面的-print不能少
find . -path './includes' -prune -o -type d -maxdepth 1 -print
排除多个目录,”(“前是带”\”的
find / \( -path /home/ -o -path /root \) -prune -nouser -type f -exec ls -l {} \;
-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o -print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果 -path "/usr/sam" 为真,则求值 -prune , -prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假。如果 -path "/usr/sam" -a -prune 为假,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值
-print,或逻辑表达式为真。
这个表达式组合特例可以用伪码写为
避开多个文件夹
圆括号表示表达式的结合。
查找某一确定文件,-name等选项加在-o 之后
linux下的常用命令find,加上不同的参数,可以使你很容易的找到需要的文件,但是有些时候,你在查找文件的同时,可能不需要在某文件夹下查找,这时候-prune就用上了。
比如在当前目录下寻找pl后缀的文件,不在scripts下寻找。
find . -path './scripts' -prune -o -name '*.pl' -print
查找cache目录下不是html的文件
find ./cache ! -name '*.html' -type f
列出当前目录下的目录名,排除includes目录,后面的-print不能少
find . -path './includes' -prune -o -type d -maxdepth 1 -print
排除多个目录,”(“前是带”\”的
find / \( -path /home/ -o -path /root \) -prune -nouser -type f -exec ls -l {} \;
find查找文件的时候排除某个或几个文件或目录
比如要在/usr/sam目录下查找不在dir1子目录之内的所有文件find /usr/sam -path "/usr/sam/dir1" -prune -o -print
find [-path ..] [expression] 在路径列表的后面的是表达式
-path "/usr/sam" -prune -o -print 是 -path "/usr/sam" -a -prune -o -print 的简写表达式按顺序求值, -a 和 -o 都是短路求值,与 shell 的 && 和 || 类似如果 -path "/usr/sam" 为真,则求值 -prune , -prune 返回真,与逻辑表达式为真;否则不求值 -prune,与逻辑表达式为假。如果 -path "/usr/sam" -a -prune 为假,则求值 -print ,-print返回真,或逻辑表达式为真;否则不求值
-print,或逻辑表达式为真。
这个表达式组合特例可以用伪码写为
if -path "/usr/sam" then -prune else -print
避开多个文件夹
find /usr/sam \( -path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -print
圆括号表示表达式的结合。
\ 表示引用,即指示 shell 不对后面的字符作特殊解释,而留给 find 命令去解释其意义。
查找某一确定文件,-name等选项加在-o 之后
#find /usr/sam \(-path /usr/sam/dir1 -o -path /usr/sam/file1 \) -prune -o -name "temp" -print
linux下的常用命令find,加上不同的参数,可以使你很容易的找到需要的文件,但是有些时候,你在查找文件的同时,可能不需要在某文件夹下查找,这时候-prune就用上了。
比如在当前目录下寻找pl后缀的文件,不在scripts下寻找。
find . -path './scripts' -prune -o -name '*.pl' -print
相关文章推荐
- linux find prune exec 排除某目录或文件 执行
- linux find prune exec 排除某目录或文件 执行
- linux find prune exec 排除某目录或文件 执行
- linux find 排除某目录或文件 执行
- linux 命令(1) find -exec 将当前目录下所有"test.file"文件删除
- linux用find文件,用-prune排除文件夹
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法
- linux的一个find命令rm删除某目录下所有子目录 中的某类文件
- linux在进入目录时需要哪些权限,在执行增删查改文件动作需要哪些权限
- 每天一个 linux 命令(20):文件查找命令 find命令之exec---学习笔记
- Linux下tar命令exclude选项排除指定文件或目录
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法
- Linux命令 find和mv的结合使用:查找文件,移动到某个目录
- 关于linux下面sh文件执行不了 找不到目录的原因
- 安装交叉编译工具,执行arm-linux-gcc –v命令出现提示找不到该文件或目录?解决方法
- Linux中,进入目录、在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.
- linux -- ubuntuserver 安装Apache后,修改默认目录和分布式配置文件可执行
- Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键
- 64bit linux下执行arm-linux-gcc: 没有那个文件或目录
- Linux下获取当前进程的执行文件的绝对路径和所在目录(通过/proc/self/exe链接)