1)find过滤目录使用find命令在linux系统中查找文件时,有时需要忽略某些目录,可以使用"-path 过滤的目录路径 -prune -o"参数来进行过滤。不过必须注意:要忽略的路径参数要紧跟着搜索的路径之后,否则该参数无法起作用。 1 2 3 4 5 6 7 8 9 10
3)过滤操作"-path /opt/kevin/test2/ -prune -o"必须紧跟在要搜索路径的后面才能实现过滤效果,否则也不能实现过滤效果。 如果要过滤两个目录,比如过滤掉test2和test3目录,则使用转义符\( -path ./test2 -o -path ./test3 -prune -o \) 注意:两个转义符前面都要有空格!! [root@localhost kevin]# fin...
从搜索中排除目录 如果要将某个目录从搜索中排除,可以结合 -path, -prune 和 -o 一起使用: 注意路径中的星号 *, -prune 选项在路径之后,-o 选项在 prune 之后。 基本上,prune命令要求不使用路径指定的值,它总是与 -o 一起使用,以确保 -o 的右侧只针对未被排除的目录。 处理find 命令的输出结果(使用 ...
find /home/user \( -path"/home/user/Downloads"-prune \) -o \( -name"doc_*.txt"-print\) 在这个命令中,括号用于分组-path和-prune,以及-name和-print的条件。这使得find只会排除Downloads目录,同时查找其他目录中符合名称条件的文件。 使用-a和-o操作符 -a和-o操作符分别表示逻辑与 (AND) 和逻...
find . -path ./venv -prune -o -path ./build -prune -o -name "*.py" -print 查找当前目录下的*.py, 排除掉./venv和./build目录.-path ./venv -prune是跳过某个目录。-o代表 或 的关系。 第二种: 语法: find <path> \( [-path <path> -o] [...] \) -prune -o -print ...
find test -path "test/test3" -prune 4 : 查找属于某个用户或者用户组(user和nouser、group和nogroup): 例1:在/etc目录下查找文件属主为peida的文件: find /etc -user peida 例2:在/apps目录下查找属于gem用户组的文件:find /apps -group gem -print ...
find -name "*.txt" -print -o -path "./aaa" -prune -print (1) 其实也可以略写为 find -name "*.txt" -o -path "./aaa" -prune 注意第二个语句-o两侧都没有-print,输出结果为: ./01.txt ./02.txt ./03.txt ./aaa 这是因为find开始执行,遇到第一个-print命令,则会考虑输出,但是输出...
-type f -path ./test2 -prune -o -name list -print ./test1/list ./test2/list ./test3/list 当搜索路径时全路径时,过滤路径也要是全路径,才能实现过滤效果 [root@localhost kevin]# find . -path /opt/kevin/test2 -prune -o -type f -name list -print ./test1/list ./test2/list ./test3...
-prune:用于排除某些目录。例如,-path ./exclude -prune -o可以排除exclude目录。 -empty:查找空文件或空目录。 来点例子 查找指定目录下的所有.txt文件 find /home/user/documents -name "*.txt" 该命令将在/home/user/documents目录下递归查找所有扩展名为.txt的文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。 find /apps -path "/apps/bin" -prune -o –print 在/apps目录下查找文件,但不希望在/apps/bin目录下查找 find /usr/sam -path "/usr/sam/dir1" -prune -o –print 在/usr/sam目录下...