`
standalone
  • 浏览: 609733 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

find: paths must precede expression

阅读更多

<

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'

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics