为什么“find”找不到这些文件

为什么“find”找不到这些文件

考虑:

$ 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

相关内容