SOURCE_FILE=$(realpath -m "$1") TARGET_FILE=$(realpath -m "$2") if [[ -f "${TARGET_FILE}" ]]; then TEMP_FILE=$(mktemp) awk -F '=' 'NR==FNR{a[$1]=$0;next}($1 in a){$0=a[$1]}1' "${SOURCE_FILE}" "${TARGET_FILE}" > "${TEMP_FILE}" mv "${TEMP_FILE}" "${TARGET_FILE}" else mkdir -p "$(dirname "${TARGET_FILE}")" cp "${SOURCE_FILE}" "${TARGET_FILE}" fi echo "Configuration file ${TARGET_FILE} has been updated."