# Function to get latest checkpoint MD5 by journal number
get_latest_checkpoint_md5() {
local checkpoint_dir="$1"
local latest_md5=""
local max_journal=0
# Use glob with nullglob to handle no matches gracefully
shopt -s nullglob
for md5_file in "${checkpoint_dir}"/checkpoint*.md5; do
# Extract journal number from filename
if [[ $(basename "$md5_file") =~ checkpoint\.ckp\.([0-9]+)\.md5$ ]]; then
journal_num="${BASH_REMATCH[1]}"
# Remove leading zeros for numeric comparison
journal_num=$((10#$journal_num))
if (( journal_num > max_journal )); then
max_journal=$journal_num
latest_md5="$md5_file"
fi
fi
done
shopt -u nullglob
echo "$latest_md5"
}
# Sample Usage:
# LatestCheckpointMD5=$(get_latest_checkpoint_md5 "${ShowCheckpoints[i]}")