1 #!/bin/sh 2 # 3 # CDDL HEADER START 4 # 5 # The contents of this file are subject to the terms of the 6 # Common Development and Distribution License, Version 1.0 only 7 # (the "License"). You may not use this file except in compliance 8 # with the License. 9 # 10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11 # or http://www.opensolaris.org/os/licensing. 12 # See the License for the specific language governing permissions 13 # and limitations under the License. 14 # 15 # When distributing Covered Code, include this CDDL HEADER in each 16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17 # If applicable, add the following below this CDDL HEADER, with the 18 # fields enclosed by brackets "[]" replaced with your own identifying 19 # information: Portions Copyright [yyyy] [name of copyright owner] 20 # 21 # CDDL HEADER END 22 # 23 # 24 #pragma ident "%Z%%M% %I% %E% SMI" 25 # 26 # Copyright (c) 1999 by Sun Microsystems, Inc. 27 # 28 29 PATH="/usr/bin:/usr/sbin:${PATH}" 30 export PATH 31 32 trap "rm -f /tmp/$$;exit" 0 1 2 3 13 15 33 34 while read src dest 35 do 36 if [ ! -f $dest ] ; then 37 cp $src $dest 38 else 39 # find each line in the existing file whose 40 # first field does not exist in the new file 41 rm -f /tmp/$$ 42 cat $dest | 43 (while read e1 e2 44 do 45 # skip comments 46 if [ `expr "$e1" : '^[ ]*#'` = 1 ] ; then 47 continue; 48 fi 49 grep -w "$e1" $src >/dev/null 2>&1 50 if [ $? = 0 ] ; then 51 continue 52 else 53 echo "$e1 $e2" >> /tmp/$$ 54 fi 55 done) 56 cp $src $dest 57 if [ -f /tmp/$$ ] ; then 58 cat /tmp/$$ >> $dest 59 fi 60 rm -f /tmp/$$ 61 fi 62 done 63 64 exit 0 65