关于find命令find: paths must precede expression错误的解决方法

archermind@flm:~/test/ccl-opencl/jni$ ls *.txt
a.txt  b.txt  c.txt
archermind@flm:~/test/ccl-opencl/jni$ find -iname *.txt
find: paths must precede expression: b.txt
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec|time] [path...] [expression]
archermind@flm:~/test/ccl-opencl/jni$ 


解决方法:find -iname '*.txt' 或者 find -iname "*.txt"


有时候我们在grep字符串的时候会找不到这个字符串,但是它却是真实存在的
例如
archermind@flm:~/test$ grep -r "d29, d30, d31}, [r5]"
archermind@flm:~/test$
原因是'['好像不能识别为一个字符,所以我们要将它转译为一个字符,这时,我们可以加个转译符\
archermind@flm:~/test$ grep -r "d29, d30, d31}, \[r5"
6432/jni/a.cpp:   "vst3.8          {d29, d30, d31}, [r5]!   \n"
archermind@flm:~/test$


像'['这样的字符还有 '.'

你可能感兴趣的:(工具)