Grep 文件夹但不搜索子文件夹

Grep 文件夹但不搜索子文件夹

我目录中有文件和文件夹。我想将特定文件夹(而不是其子文件夹/文件)分配给变量。我正在尝试:

variable=$(find $PWD -type d | grep "_data.bedpostX")

但是,这还会给我文件夹内的子文件夹_data.bedpostx。如何将 grep 限制为仅文件_data.bedpostX夹?

答案1

如何将 grep 限制在 _data.bedpostX 文件夹?

添加-maxdepth 1命令find

variable=$(find $PWD -maxdepth 1  -type d | grep "_data.bedpostX")

-maxdepth levels

下降到命令行参数以下最多级别(非负整数)的目录级别。-maxdepth 0意味着仅将测试和操作应用于命令行参数。

来源查找手册页 - Linux - SS64.com

答案2

使用find可能没有必要,您是否尝试过:

variable=(*/_data.bedpostX/)

或者如果_data.bedpostX是后缀:

variable=(*/*_data.bedpostX/)

(最后/限制了目录的扩展)

相关内容