Skip to content

Latest commit

 

History

History
39 lines (25 loc) · 1.01 KB

find.md

File metadata and controls

39 lines (25 loc) · 1.01 KB

find 命令查找多文件

问题背景

在工作中有这么一个需求,就是我们要去查找所有的 md 文件,然后删掉,于是我是这样写的 rm $(find floder -name *.md)

但是这样会提示一个错误,find: paths must precede expression。好吧,看来我们写错了,于是,我又踏上了寻错之旅。

解决方案

解决方案是: rm $(find folder -name '*.md')

why?

经过 Google、百度,找到了解决方案,写个小例子大家其实就都懂了。

我们先创建几个 md 文件:

$ touch {1,2,3,4,5}.md

好了,我们现在有 5 个文件了,现在我们输入以下命令:

$ echo '*'
$ echo *
$ echo \*

大家猜猜结果是什么?好吧其实很简单,结果是:

*
1.md 2.md 3.md 4.md 5.md
*

所以我们看到了,如果我们用 *.md 去匹配其实 * 就不是 * 了,我们不需要 * 展开,所以我们要加上引号或者是 *,教训就是大家别偷懒啊,该写引号还得写。