Учитывая эти каталоги, .../clients/*-"$clientcode"/
расширится до соответствующих имен каталогов. Обратите внимание, что звездочка не заключена в кавычки. (Это не регулярное выражение, а шаблон глобуса.)
Но вы не можете использовать шаблон в расширении, поэтому вам нужно обойти его, например. петля:
mydir=
for d in./clients/*-"$clientcode"/; do
if [ "$mydir" ]; then
echo "More than one matching directory!" >&2
fi
mydir=$d
done
if [ -z "$mydir" ]; then
echo "No match!" >&2
fi
Я не уверен, должна ли дата быть частью имени файла для сопоставления (, поэтому ./clients/*-"$clientcode"_*/
), или если вы собираетесь добавить ее и создать новый(newdir="${mydir}_${date}"
).