不久前做移植的时候想把某个目录下的C文件都找出来,然后拷贝下,结果一直报错,我用的是*.c作为pattern。今天看论坛的时候知道为什么了。
$ ls
test2.c test.c test.txt
目录下有两个.c文件,还有一个.txt文件
$ find . -name *.c
error:find:
路径必须在表达式之前: test.c
用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
$ find . -name *.txt
./test.txt
$ find . -name "*.c"
./test2.c
./test.c
原因:
若是不加引号 $ find . -name*.txt成功,而不加引号的 $ find . -name*.c出错了,得看看shell是怎么执行这句话的,首先shell读到了
*.txt 和 *.c,因为 * 是shell认为的meta(理解为特殊字符),所以就先解释,*txt
先执行成 test.txt,传递给find,find就去执行自己的操作,根据pattern发现符合要求。而 *.c 被shell翻译成了test.c和test2.c,这时候命令就变成了 find . -name test.c test2.c 这就出错了!因为find
-name 选项后面只能支持一个文件的搜索。所以对于test2.c是前面没有选项,就报错了!
对于有引号的 find . -name "*.c",shell读到"*.c"的时候,会当作参数处理,传递给find,find之后会自己处理 *.c,可以查看 man find ,里面有
The metacharacters (`*', `?', and `[]')match a `.'
分享到:
相关推荐
解决 cannot find -lxxx 的问题
Could not find Developer Disk Image"问题
解决IDEA【Cannot find Graphviz】问题 graphviz-2.38.zip 官网上的graphviz下载太慢,太慢,太慢。
"Could not find Developer Disk Image"问题
spring-framework-3.1.1.RELEASE jdk1.7 环境下 can't find referenced pointcut 问题解决 换了对应的jar文件即可 aspectjrt.jar aspectj-1.6.6.jar aspectjweaver.jar
解决Cannot find module '@sentry/webpack-plugin',Cannot find module '@sentry/browser',Cannot find module '@sentry/cli'等问题。 下载后,解压后文件夹,放在vue项目的node_modules文件夹下,即可。
FindPath(分支限界之布线问题) 计算机算法设计与分析中分支限界里的布线问题 vc6.0中编译通过
一次偶然,发现完全同一份代码,在不同机器上find出现两个不同执行结果,本文旨在研究find的“诡异”行为,找出背后的原因。
在Myeclipse 8.5中用外带的tomcat时候,会因为JDK版本的问题出现Could not find the main class,按照上述文档的步骤就可以解决,我亲自体验过
bool FindPath(Position start,Position finish,int& PathLen, Position * &path) {//计算从起点位置start到目标位置finish的最短布线路径,找到最短布线路//径则返回true,否则返回false i...
解决mongo数据插入时 报错问题 mogodb插入数据时报错Can't find a codec for class java.math.BigDecimal
xcode 、could not find developer disk image、真机测试、ipa打包
NULL 博文链接:https://hyl198611.iteye.com/blog/1988113
主要介绍了Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来...
在写正则表达式的时候总会遇到不少的问题, 特别是在表达式有多个元组的时候。下面看下re模块下的findall()函数和多个表达式元组相遇的时候会出现什么样的坑。 代码如下: import re str="a b c d" regex0=re....
C#中List中泛型T如果是一个对象的话,则利用Find函数返回的将是这个对象的指针,对其返回对象的属性进行操作,也会影响list中相应元素对象的值。验证如下:1.新建一个Class1类,其含有两个姓名和分数两个属性: 代码...
【故障解决】OGG-00446 Could not find archived log for sequence.pdf
百度飞桨遇到的问题,安装cuda不能启动,错误提示importError: Could not find 'cudnn64_7.dll'的解决。将压缩包内的文件对应放入cuda安装位置即可!
Linux编译静态链接出现:/usr/bin/ld: cannot find -lc. 将libc.a拷贝到usr/lib/中,问题得以解决。
解决一下问题 64位机器默认去查找arm64-v8a目录下是否有合适的64位库,如果没有则回去libs下查找32位的库,而fresco的draw-pipeline太完善了考虑了64位的机器所以他的arm64-v8a下有so库,对应的系统就创建了lib64的...