首页 > 解决方案 > 如何检查以特定字符串开头的目录是否存在?

问题描述

什么命令可用于检查 shell 脚本中是否存在以特定模式开头的目录?

例如 :

在 HOME 路径中,如果有很多以 ABCD_* 开头的目录,我想检查是否有任何目录以 pattern-ABCD_* 开头,或者不使用命令。

If (any directory matching this pattern exist) then echo found else echo not found fi

标签: bashshellunix

解决方案


find ~ -type d -name "ABCD_*"

在当前用户 (~) 的主目录中搜索具有模式“ABCD_*”的目录 (-type d)(使用 -name)

然后,您可以通过将其与 wc -l 集成来在 if 条件下使用它,因此:

if [[ "$(find ~ -type d -name "ABCD_*" | wc -l)"  -gt "0" ]];
then 
    echo "Found";
else
    echo "Not Found";
fi

推荐阅读