考虑:
$ find . -name *.css
./style.css
./view/css/style.css
$ ls view/css/
consultation.css jquery.scombobox.min.css page-content.css style.css
为什么可能会find
丢失 中的文件view/css
?这是在 Ubuntu 15.10 上,一个不起眼的 Debian 衍生版本。
答案1
我愿意这个问题与 shell 将你的名字表达式解释为一个全局变量有关。尝试这样做:
$ find . -name \*.css
答案2
联机帮助页的底部find
是以下宝石:
NON-BUGS
$ 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:
So*.css
显然被 Bash 扩展了,因为style.css
该文件存在于当前目录中。始终转义*
星号find
!
$ find . -name \*.css
./style.css
./view/css/consultation.css
./view/css/lib/jquery.mCustomScrollbar.css
./view/css/lib/normalize.min.css
./view/css/lib/swiper.min.css
./view/css/style.css
./view/css/jquery.scombobox.min.css
./view/css/page-content.css