find . -name *.jks -print 2>/dev/null
返回扩展名的文件杰克斯那样做没有下划线作为他们名字的一部分。令我惊讶的是,我刚刚发现 * 不能替代下划线。
find . -name *_*.jks -print 2>/dev/null
返回扩展名的文件杰克斯那有一个下划线。
如何搜索包含 0 个或多个下划线的文件?使用 OSX Mountain Lion。
答案1
我知道的所有版本find
都会将下划线与通配符匹配。
做的时候要注意。
find . -name *.jks -print 2>/dev/null
*.jks
在运行 find 命令之前,“ ”可能会被 shell 扩展。
例如
$ mkdir foo
$ touch a.jks foo/a.jks foo/b.jks
a.jks
$ find . -name *.jks -print
./a.jks
./foo/a.jks
这实际上是因为您实际上正在调用find . -name a.jks -print
,因此它不会找到例如b.jks
。
如果你引用通配符表达式,你可能会更幸运:
$ find . -name "*.jks" -print
./a.jks
./foo/a.jks
./foo/b.jks
我很确定运行
$ find . -name "*.jks" -print
将为您提供所有带下划线和不带下划线的文件。