#!/bin/bash # doc db_update { # # DESCRIPTION # db_update - Updates TARGET's DB_FILE with defined IMAGEIDs # # USAGE # db_update # # } db_update() { local GIT_DIR="${1}" local TARGET="${2}" local DB_FILE="${3}" local IMAGEID="${4}" [[ -f "${DB_FILE}" ]] || touch "${DB_FILE}" trackidList=($(awk 'BEGIN{FS="\" : \"";RS="\",\n * \""}{if($1=="TRACKID"){print $2}}' ${GIT_DIR}/${IMAGEID}.tags)) if [[ ! -f "${GIT_DIR}/${IMAGEID}.tags" ]]; then gawk -i inplace -v imageid="${IMAGEID}" 'BEGIN{FS="\t";OFS="\t"}{if($2==imageid){$1="null"}{print $0}}' ${DB_FILE} return 1 fi for trackid in ${trackidList[@]}; do if [[ -z $(awk -v imageid="${IMAGEID}" -v trackid="${trackid}" 'BEGIN{FS="\t"}{if($2==imageid && $3==trackid){print $0}}' ${DB_FILE}) ]]; then echo -e "false\t${IMAGEID}\t${trackid}\tnull" >> ${DB_FILE} fi done return 0 }