分页: 1 / 1

find 以结尾的文件

发表于 : 2012-10-05 14:32
罗非鱼
find /home/tiger -regex '.+save$'
可以找出/home/tiger下面以save结尾的文件,有两个问题
1.将.home/tiger的子目录中的,满足要求的文件名也找出来了,我只要/home/tiger目录下面,不要子目录中的,如何做?
2.为何find /home/tiger -regex 'save$'
不起作用?

Re: find 以结尾的文件

发表于 : 2012-10-05 14:36
枫叶饭团
1.-maxdepth 1 可以指定深度
2.你这个正则只匹配的只是save

Re: find 以结尾的文件

发表于 : 2012-10-05 14:41
罗非鱼
root@debian:/home/tiger# ls /home/test
save
root@debian:/home/tiger# find /home/test -regex 'save$'
root@debian:/home/tiger# find /home/test -regex '.*save$'
/home/test/save
root@debian:/home/tiger#

Re: find 以结尾的文件

发表于 : 2012-10-05 14:45
枫叶饭团
我的理解是,-regex匹配的好像是完整文件名,带上路径的。所以。。。前面的/home/test/文件名的一部分
如果你用-name就不会出现这种情况了

Re: find 以结尾的文件

发表于 : 2012-10-05 14:54
罗非鱼
root@debian:/home/tiger# find /home/test -name 'save$'
root@debian:/home/tiger# find /home/test -name -regex 'save$'
find: paths must precede expression: save$
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
root@debian:/home/tiger#
不行!

Re: find 以结尾的文件

发表于 : 2012-10-05 15:04
lilydjwg
罗非鱼 写了:root@debian:/home/tiger# find /home/test -name 'save$'
root@debian:/home/tiger# find /home/test -name -regex 'save$'
find: paths must precede expression: save$
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
root@debian:/home/tiger#
不行!
晕……看文档啊大哥——

代码: 全选

-name '*save'

Re: find 以结尾的文件

发表于 : 2012-10-05 15:05
枫叶饭团

代码: 全选

ef>find . -regex '\./test'
./test
ef>find . -name 'test'
./test

Re: find 以结尾的文件

发表于 : 2012-10-05 16:07
b33e
是啊,一个 * 就可以了