我目录中有文件和文件夹。我想将特定文件夹(而不是其子文件夹/文件)分配给变量。我正在尝试:
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
意味着仅将测试和操作应用于命令行参数。
答案2
使用find
可能没有必要,您是否尝试过:
variable=(*/_data.bedpostX/)
或者如果_data.bedpostX
是后缀:
variable=(*/*_data.bedpostX/)
(最后/
限制了目录的扩展)