我需要获取与特定名称匹配的文件夹(如果存在)的完整路径。始终有一个与名称匹配的文件夹。 例如:代码必须找到具有以下可能名称的文件夹(如果存在):
/home/user/myfolder
/home/user/myfolder_aaa
/home/user/myfolder_bbb
/home/user/myfolder_ccc
但它必须与任何其他“类似”文件夹不匹配,例如
/home/user/myfolder_xxx
如果文件夹存在,我需要在变量中保存完整路径 这样的东西也匹配不需要的情况,并没有重试完整的路径:
path=`ls /home/user/myfolder*`
答案 0 :(得分:1)
只有少量的可能性和一个目标目录,这就足够了:
top_level='myfolder'
for end in '' '_aaa' '_bbb' '_ccc'
do
name=$top_level$end
if [[ -d $name ]]
then
var="$name"
break
fi
done
echo "$var found"
答案 1 :(得分:0)
您可以将var noteText : String?
与正则表达式一起使用:
find
将结果存储在数组中(因为这些文件夹名称中似乎没有空格):
find ./home/user -regextype posix-extended -type f -regex '.*/myfolder(_(aaa|bbb|ccc))?$'