From 961108c53b6d44ffea25e059fbc11115444a42bd Mon Sep 17 00:00:00 2001 From: Bin Xu Date: Mon, 26 Mar 2018 17:15:40 +0800 Subject: [PATCH] updatenode MERGE mode does not support update an existing entry --- xCAT-server/share/xcat/scripts/xdcpmerge.sh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/xCAT-server/share/xcat/scripts/xdcpmerge.sh b/xCAT-server/share/xcat/scripts/xdcpmerge.sh index 39922add6..e8445a646 100755 --- a/xCAT-server/share/xcat/scripts/xdcpmerge.sh +++ b/xCAT-server/share/xcat/scripts/xdcpmerge.sh @@ -61,8 +61,8 @@ for i in $*; do # in the merge file and create a new backup # first get a list of duplicate lines to remove # based on only username: the first field in the file - cut -d: -f1 $filebackup > $filebackup.userlist - cut -d: -f1 $mergefile > $mergefile.userlist + cut -d: -f1 $filebackup > $filebackup.userlist + cut -d: -f1 $mergefile > $mergefile.userlist comm -12 <(sort $filebackup.userlist | uniq) <(sort $mergefile.userlist | uniq) > $filebackup.remove # now if there is a remove file, use it to remove the dup lines in backup @@ -86,16 +86,15 @@ for i in $*; do userlist=$userlisttmp$listend grepcmd=$grepcmd$userlist #set -x - grepcmd="$grepcmd $mergefile > $mergefile.nodups" - #echo "grepcmd=$grepcmd" + grepcmd="$grepcmd $filebackup > $filebackup.nodups" # now run it eval $grepcmd - fi - - # add new entries from mergefile, if any - if [ -a "$mergefile.nodups" ]; then - cat $mergefile.nodups >> $curfile - rm $mergefile.nodups + #echo "grepcmd=$grepcmd" + cat $filebackup.nodups $mergefile > $curfile + #echo "$filebackup.nodups $mergefile > $curfile" + else + cat $filebackup $mergefile > $curfile + #echo "cat $filebackup $mergefile > $curfile" fi # now cleanup