假设我想在/ Path中找到名为file_name *的所有文件.简单:
$find /Path -name "file_name*" /Path/foo1/file_name1.txt /Path/foo2/file_name2.txt /Path/bar3/file_name3.txt /Path/bar4/file_name4.txt
如果我只想搜索像bar这样的子目录怎么办?
我可以管理结果,但这非常低效.
$find /Path -name "file_name*" | grep "bar" /Path/bar3/file_name3.txt /Path/bar4/file_name4.txt
注意:如果我搜索/ Path / bar3具体结果立即回来.但是如果我只搜索/ Path然后grep for bar它需要30-60秒.这就是为什么不能接受grep管道的原因.
解决方法
您在-name参数中使用通配符,但也可以在path参数中使用它.
find /Path/bar* -name "file_name*"
我创建了以下测试目录:
./Path |-- bar `-- file_name123.txt |-- bar1 `-- file_name234.txt |-- bar2 `-- file_name345.txt |-- foo `-- file_name456.txt
上面的命令给出:
Path/bar/file_name123.txt Path/bar1/file_name234.txt Path/bar2/file_name345.txt