'find' 带通配符
'find' with wildcard
我在 OS/X yosemite。我已经多次执行类似以下的搜索:不确定为什么它在这里不起作用。
搜索是:
$find . -name \*assembly\*.jar
它returns 没有。
现在,应该 return 做什么?那么让我们删除扩展名并重新运行 搜索:
$find . -name \*assembly\*
那么 return 有很多项目 - 包括第一个.. 以 .jar 结尾!
./mllib-tests/target/mllib-perf-tests-assembly.jar
./mllib-tests/target/streams/$global/assembly
./mllib-tests/target/streams/$global/assembly/$global/streams/assembly-inputs
./mllib-tests/target/streams/$global/assembly/$global/streams/assembly-outputs
./mllib-tests/target/streams/$global/assemblyOption
./mllib-tests/target/streams/$global/assemblyOption/$global/streams/assembly
./spark-tests/target/spark-perf-tests-assembly.jar
./spark-tests/target/streams/$global/assembly
./spark-tests/target/streams/$global/assembly/$global/streams/assembly-inputs
./spark-tests/target/streams/$global/assembly/$global/streams/assembly-outputs
./spark-tests/target/streams/$global/assemblyOption
./spark-tests/target/streams/$global/assemblyOption/$global/streams/assembly
所以..为什么第一次搜索失败了?
OK 发现了答案。
\*
通配符不是 零个或多个字符匹配。显然是一个或多个个字符匹配。
以下有效
$find . -name \*assembl\*.jar
./mllib-tests/target/mllib-perf-tests-assembly.jar
./spark-tests/target/spark-perf-tests-assembly.jar
我在 OS/X yosemite。我已经多次执行类似以下的搜索:不确定为什么它在这里不起作用。
搜索是:
$find . -name \*assembly\*.jar
它returns 没有。
现在,应该 return 做什么?那么让我们删除扩展名并重新运行 搜索:
$find . -name \*assembly\*
那么 return 有很多项目 - 包括第一个.. 以 .jar 结尾!
./mllib-tests/target/mllib-perf-tests-assembly.jar
./mllib-tests/target/streams/$global/assembly
./mllib-tests/target/streams/$global/assembly/$global/streams/assembly-inputs
./mllib-tests/target/streams/$global/assembly/$global/streams/assembly-outputs
./mllib-tests/target/streams/$global/assemblyOption
./mllib-tests/target/streams/$global/assemblyOption/$global/streams/assembly
./spark-tests/target/spark-perf-tests-assembly.jar
./spark-tests/target/streams/$global/assembly
./spark-tests/target/streams/$global/assembly/$global/streams/assembly-inputs
./spark-tests/target/streams/$global/assembly/$global/streams/assembly-outputs
./spark-tests/target/streams/$global/assemblyOption
./spark-tests/target/streams/$global/assemblyOption/$global/streams/assembly
所以..为什么第一次搜索失败了?
OK 发现了答案。
\*
通配符不是 零个或多个字符匹配。显然是一个或多个个字符匹配。
以下有效
$find . -name \*assembl\*.jar
./mllib-tests/target/mllib-perf-tests-assembly.jar
./spark-tests/target/spark-perf-tests-assembly.jar