加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何在命令行中匹配另一个模式的目录中“查找”匹配模

发布时间:2020-12-14 01:24:04 所属栏目:Linux 来源:网络整理
导读:假设我想在/ 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这样的子目录怎么办? 我可以管理结
假设我想在/ 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读