#!/bin/bash
  
NEW_FILE_SUFFIX=".new"
FILES_TO_CHECK=()

[ -r /etc/check_mk/diff_files.cfg ] && . /etc/check_mk/diff_files.cfg

for FILE in "${FILES_TO_CHECK[@]}"; do
    NEW_FILE="${FILE}${NEW_FILE_SUFFIX}"
    NAME=$(basename $FILE)
    
    MSG=""

    if [ -f $NEW_FILE ]; then
        DIFF=$(diff -u $FILE $NEW_FILE 2>&1)
        if [ ! $? == 0 ]; then
            ADDED=$(echo "$DIFF" | grep -Po '^\+{1}\K[^\+]+' | tr '\n' ',')
            REMOVED=$(echo "$DIFF" | grep -Po '^\-{1}\K[^\-]+' | tr '\n' ',')

            if [[ "$ADDED" == "" ]]; then
                ADDED="none"
            fi
            if [[ "$REMOVED" == "" ]]; then
                REMOVED="none"
            fi

            MSG="There is a difference between $FILE and $NEW_FILE. Added lines: $ADDED Removed lines: $REMOVED $MSG"
        fi
    fi

    if [ ${#MSG} -gt 0 ]; then
		echo "2 diff_files_${NAME} - CRITICAL - $MSG"
	else
		echo "0 diff_files_${NAME} - OK "
	fi
done
