Adapted from this
set -x
PROJECT_FILE_PATH="path/to/project.pbxproj"
MARKETING_VERSION=`sed -n '/MARKETING_VERSION/{s/MARKETING_VERSION = //;s/;//;s/^[[:space:]]*//;p;q;}' $PROJECT_FILE_PATH`
BUILD_VERSION=`sed -n '/CURRENT_PROJECT_VERSION/{s/CURRENT_PROJECT_VERSION = //;s/;//;s/^[[:space:]]*//;p;q;}' $PROJECT_FILE_PATH`
if [ -z "$MARKETING_VERSION" ]; then
echo "could not extract marketing version"
exit 1
else
echo "marketing version:"
echo $MARKETING_VERSION
fi
if [ -z "$BUILD_VERSION" ]; then
echo "could not extract build version"
exit 1
else
echo "build version:"
echo $BUILD_VERSION
fi
NEW_VERSION="${MARKETING_VERSION}+${BUILD_VERSION}"
echo "new version:"
echo $NEW_VERSION