一个find命令的问题(我是新手,啥都不懂)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
rengo
帖子: 5
注册时间: 2010-11-13 16:42

一个find命令的问题(我是新手,啥都不懂)

#1

帖子 rengo » 2010-11-15 15:00

我下载了一个压缩包wicd-1.7.0.tar.bz2解压后放在HOME里面.我在HOME 目录里面执行了如下两个命令,结果如下:
zy@CORONA ~ > find . -name wicd-*
./wicd-1.7.0


zy@CORONA ~ > find . -name wicd-cl*
./wicd-1.7.0/man/wicd-cli.8
./wicd-1.7.0/man/nl/wicd-client.1
./wicd-1.7.0/man/wicd-client.1
./wicd-1.7.0/scripts/wicd-cli
./wicd-1.7.0/scripts/wicd-client
./wicd-1.7.0/gtk/wicd-client.py
./wicd-1.7.0/cli/wicd-cli.py


我奇怪的是,为什么查找wicd-*只能找到一个./wicd-1.7.0目录,而找wicd-cl*能找到7个文件呢?
wicd-*不是也包括了wicd-cl*吗?

哈哈,可能太简单了
:em06
hunter108
帖子: 112
注册时间: 2009-11-02 10:29

Re: 一个find命令的问题(我是新手,啥都不懂)

#2

帖子 hunter108 » 2010-11-15 21:06

我想有可能是不规范的书写规范引起的吧,因为*是一个特殊字符,你第一种写法是有错误的,正确的写法为
find . -name “wicd-*” 或者 find . -name wicd-\*
头像
astolia
论坛版主
帖子: 6447
注册时间: 2008-09-18 13:11

Re: 一个find命令的问题(我是新手,啥都不懂)

#3

帖子 astolia » 2010-11-16 0:00

楼上没说到点子上。实际上这是shell的特性导致的。*作为shell的通配符,出现在命令中时,shell会自动将其替换为匹配的文件名(如果存在匹配的)。这一切都发生在具体的命令执行之前。
所以实际上虽然你输入的是find . -name wicd-*,但经过shell自动替换后,真正执行的是find . -name wicd-1.7.0,当然只有一个符合的。
如果当前目录下还有其他以wicd-开头的文件,比如wicd-1,那么find . -name wicd-*实际执行的就是find . -name wicd-1 wicd-1.7.0了
而find . -name wicd-cl*,由于当前目录下没有以wicd-cl开头的文件,shell就不会自动替换,真正执行的还是find . -name wicd-cl*,所以能找到下级目录中的
解决方法如楼上所说
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 一个find命令的问题(我是新手,啥都不懂)

#4

帖子 trigger » 2010-11-16 8:38

引号,否则展开
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
头像
懒蜗牛Gentoo
论坛版主
帖子: 7353
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 一个find命令的问题(我是新手,啥都不懂)

#5

帖子 懒蜗牛Gentoo » 2010-11-16 9:05

3楼4楼正解
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
头像
xingxiangi
帖子: 18
注册时间: 2010-11-12 8:52

Re: 一个find命令的问题(我是新手,啥都不懂)

#6

帖子 xingxiangi » 2010-11-16 9:20

新手,学习ing,高手真多呀,佩服,佩服 :em11
上联:说你行你就行不行也行
下联:说不行就不行行也不行
横批:不服不行
头像
nmsfan
帖子: 18958
注册时间: 2009-10-16 22:46
来自: finland

Re: 一个find命令的问题(我是新手,啥都不懂)

#7

帖子 nmsfan » 2010-11-16 11:27

:em11 :em11
>>>>推Ubuntu 桌面培训~~<<<<
>>>>想加入/了解gimp汉化吗,点我吧~<<<<
——————————————————————
不推荐wubi,也不推荐你给别人推荐wubi…………
随心而为的感觉真好……
强推mayhem!!
强推ensiferum
头像
daf3707
论坛版主
帖子: 12731
注册时间: 2007-06-13 15:57
来自: 在他乡

Re: 一个find命令的问题(我是新手,啥都不懂)

#8

帖子 daf3707 » 2010-11-16 13:21

:em11
rengo
帖子: 5
注册时间: 2010-11-13 16:42

Re: 一个find命令的问题(我是新手,啥都不懂)

#9

帖子 rengo » 2010-11-16 18:24

多谢啦.三楼说得明白透彻! :em11
回复