find . -name *.c -print 为何出错
2012-03-09 14:38
459 查看
今天执行find . -name *.c -print,想查一下当前目录下的.c的文件, 给出来这个提示
find: paths must precede expression
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|
exec] [path...] [expression]
当时我就纳了闷了,奇怪,然后我find . -name \*.c -print 加了个转义字符就可以了,
查了下man find 有如下解释
$ find . -name *.c -print
find: paths must precede expression
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|
exec] [path...] [expression]
This happens because *.c has been expanded by the shell resulting in
find actually receiving a command line like this:
find . -name bigram.c code.c frcode.c locate.c -print
That command is of course not going to work. Instead of doing things
this way, you should enclose the pattern in quotes or escape the wild‐
card:
$ find . -name \*.c -print
也就是说shell会吧*.c展开为 bigram.c code.c frcode.c locate.c 等价于执行find . -name bigram.c code.c frcode.c locate.c -print
当然会报错了 所以加个\屏蔽shell的解释
或者使用$ find . -name ‘*.c’ -print 这样就不会报错了。
find: paths must precede expression
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|
exec] [path...] [expression]
当时我就纳了闷了,奇怪,然后我find . -name \*.c -print 加了个转义字符就可以了,
查了下man find 有如下解释
$ find . -name *.c -print
find: paths must precede expression
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|
exec] [path...] [expression]
This happens because *.c has been expanded by the shell resulting in
find actually receiving a command line like this:
find . -name bigram.c code.c frcode.c locate.c -print
That command is of course not going to work. Instead of doing things
this way, you should enclose the pattern in quotes or escape the wild‐
card:
$ find . -name \*.c -print
也就是说shell会吧*.c展开为 bigram.c code.c frcode.c locate.c 等价于执行find . -name bigram.c code.c frcode.c locate.c -print
当然会报错了 所以加个\屏蔽shell的解释
或者使用$ find . -name ‘*.c’ -print 这样就不会报错了。
相关文章推荐
- find命令的几个例子解析(-a,-o,-path,-wholename,-prnue,-print)
- find . -name \* -type f -print | xargs grep “关键字”
- find命令的几个例子解析(-a,-o,-path,-wholename,-prnue,-print)
- find命令的几个例子解析(-a,-o,-path,-wholename,-prune,-print)
- 下载文件或图片出错,显示Can not find a java.io.InputStream with the name [inputStream] in the invocation
- find . -name "*.py" -print | xargs.exe grep py
- find . -name classes -print0 |xargs -0 rm -rf
- find . -name "*.[chCH]" -print | etags -
- FATAL ERROR: could not find /usr/bin/my_print_defaults创建权限表出错
- find命令的几个例子解析(-a,-o,-path,-wholename,-prnue,-print)
- find命令的几个例子解析(-a,-o,-path,-wholename,-prnue,-print)
- android 模拟器出错,emulator: ERROR: unknown virtual device name
- play!安装出错:Error: Could not find or load main class Files ...(2012-10-25 09:13:43)
- SQL,SQL2000:为何将DTS包转成作业时就会出错?(转载)
- cocoapod升级的坑 && pod search :Unable to find a pod with name
- c#"分析 EntityName 时出错"的解决方案
- (文件下载)Can not find a java.io.InputStream with the name [inputStream] in the invocation stack
- 错误:分析 EntityName 时出错 web配置
- 页面加载出错,rendering: Could not find layout resource和PorterDuff Color Filters are not supported
- 警告: Could not find action or result There is no Action mapped for namespace / and action name