In Linux bash
you may face an error while using wildcard * to search files. For e.g.
trying to search all jar files with following command:
find . -name *.jar
will give following error:
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]
Reason is that * is interpreted by shell itself before
arguments are passed to find command. * will resolve to all folders and
files within current folder, hence does not make much sense with .jar
extension at the end. For this reason we need to escape * somehow so
that it goes to find command as it is, without expanded by shell. There
are 2 ways that I know;
find . -name \*.jar
second is
find . -name '*.jar'
find: paths must precede expression
最新推荐文章于 2022-04-17 21:34:18 发布
<