免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2108 | 回复: 3
打印 上一主题 下一主题

关于《shell基础二:查找技巧,find及xargs的使用》find -prune使用的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-10 23:19 |只看该作者 |倒序浏览
读到这里的时候,做出来不对了。
按照 寂寞烈火 的方法:

跟双引号没系
find -path "/path/dir" -prune -o -print 和:
find -path /path/dir -prune -o -print
是一样的效果
find \( -path "/path/dir1" -o -path "/path/dir2" \) -prune -o -print 和:
find \( -path "/path/dir1" -o -path "/path/dir2" \) -prune -o -print
是一样的,错误处在红字部分,即\(和\),他们两边要有空格


我的是这样的:
-bash-3.00$ find .
.
./.bash_history
./1
./2
./3
./test1
./test1/1
./test1/2
./test1/3
./test2
./test2/1
./test2/2
./test2/3
./.links
./.ssh
-bash-3.00$ find $HOME -name "[1-9]" \( -path "$HOME/test1" -o -path "$HOME/test2" \) -prune -o -print
/c/d/a/dayerong
/c/d/a/dayerong/.bash_history
/c/d/a/dayerong/1
/c/d/a/dayerong/2
/c/d/a/dayerong/3
/c/d/a/dayerong/test1
/c/d/a/dayerong/test1/1
/c/d/a/dayerong/test1/2
/c/d/a/dayerong/test1/3
/c/d/a/dayerong/test2
/c/d/a/dayerong/test2/1
/c/d/a/dayerong/test2/2
/c/d/a/dayerong/test2/3
/c/d/a/dayerong/.links
/c/d/a/dayerong/.ssh

怎么没有避开test1和test2呢? 请高手解答一下,谢谢。

论坛徽章:
0
2 [报告]
发表于 2006-08-11 00:11 |只看该作者
测试结果....
加了 -name 参数就不行了
所以你可以改成....

find $HOME  \( -path "$HOME/test1" -o -path "$HOME/test2" \) -prune -o -print | grep "[1-9]"

这样就行了

论坛徽章:
0
3 [报告]
发表于 2006-08-11 23:50 |只看该作者
多谢了。刚刚上来看到。

论坛徽章:
0
4 [报告]
发表于 2007-09-03 17:57 |只看该作者

回复 #1 dayerong 的帖子

  1. find $HOME \( -path "$HOME/test1" -o -path "$HOME/test2" \) -prune -o -name "[1-9]" -print
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP