比如在/home目录下,查找txt/doc/mp3/mp4结尾的文件。 我发现find可以支持 find /home -name "*[a-z]", 但是却不支持 find /home -name "*(txt|doc|mp3)", 请高手指点一下。
by zhao_yi707 - Shell - 2007-12-12 13:07:56 阅读(5727) 回复(5)
有一个命令 find . -mtime +1 -exec compress {} \; 2>/dev/null 但是因为找出的文件非常多(过万), 然后每次都要处理很久的时间. 另外,如果find到了一个文件A, 但是会不会有可能在compress这个动作之前删除? (有自动删除的script) 如果被删除,find是不是就会死在那里? 对于这种可以寻早到非常多文件的情况下,怎样替代这个命令会好点? 而且可以做到如果遇到文件已经不存在就跳过?
[root@localhost shell]# find ./ \( -path './find' -o -path './awk' \) -prune -o print find: paths must precede expression Usage: find [path...] [expression] 这是为什么?
使用find同时查找多个目录,我的命令如下: find \( -path /aaa/bbb1 -o -path /aaa/bbb2 \) -print 但是好像不能工作,这是怎么回事?
现在有一个需求, 用find语句找出当前目录下所有的 .c .pc .o文件 find . -name "*.pc" -print find . -name "*.c" -print find . -name "*.o" -print 用find写在一句怎么写? 另有一个问题: grep aaa *.pc 有的时候发现文件列表过长,而报错? 改哪个环境变量,可以避免这个问题? [ 本帖最后由 kenancola 于 2007-8-16 14:10 编辑 ]
目的:找到某目录下test文件后修改日期为2005年01月01日01时01秒,然后将其拷贝到/teczm下: 现在能做到: %find . -type f -name "test" -exec touch -t 0501010101 {} \; 但不能一步完成目的操作。 试了: [quote] %find . -type f -name "test" -exec touch -t 0501010101 {} \;;mv {} /teczm \;[/quote] 返回出错。 how to :em14: