From 7749f89457ba9f6aa146f7cdae3fd53b136a4dc4 Mon Sep 17 00:00:00 2001 From: David Beniamine <david.beniamine@tetras-libre.fr> Date: Fri, 14 Sep 2018 10:25:27 +0200 Subject: [PATCH] Update lines correctly --- registry/scripts/registry.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/registry/scripts/registry.sh b/registry/scripts/registry.sh index 838be8d..0120e96 100755 --- a/registry/scripts/registry.sh +++ b/registry/scripts/registry.sh @@ -19,7 +19,7 @@ getip(){ awk '/^lease/{IP=$2} /hardware ethernet/{gsub(";","",$3);if($3 == "'$1'"){print IP}}' \ < /var/lib/dhcp/dhcpd.leases -} + } IP=$(ip a | awk '/inet.*containers/ {print $2}' | cut -d / -f 1) port=9998 @@ -39,7 +39,7 @@ else LINES="$LINES\n$(date +%Y%m%d) $(echo $line | cut -d ' ' -f 2-)" fi done < $conf_file - echo $LINES > $conf_file + echo -e $LINES > $conf_file fi while true @@ -47,7 +47,16 @@ do line=`netcat -l $IP $port` if [ $(echo "$line" | egrep -c "^([0-9a-f]{2}:?){6} .*$") -eq 1 ] then - echo "$(date +%Y%m%d) $line" >> $conf_file + date=$(date +%Y%m%d) + res=$(grep "$line" $conf_file) + if [ ! -z "$res" ] + then + # Update + sed -i -e "s/^.*$line$/$date $line/" $conf_file + else + # Add + echo "$date $line" >> $conf_file + fi fi done -- GitLab