36 lines
495 B
Plaintext
36 lines
495 B
Plaintext
|
: Update Files from database
|
||
|
|
||
|
PATH=/bin:/usr/bin
|
||
|
|
||
|
case $# in
|
||
|
1) ;;
|
||
|
*) echo use: $0 file >&2
|
||
|
exit 1
|
||
|
esac
|
||
|
|
||
|
(
|
||
|
IFCOMMAND="if (<\$FN) 2>/dev/null;\
|
||
|
then if cmp -s \$FN \$TMP;\
|
||
|
then rm \$TMP;\
|
||
|
else mv \$TMP \$FN;\
|
||
|
echo update \$FN;\
|
||
|
fi;\
|
||
|
else mv \$TMP \$FN;\
|
||
|
echo create \$FN;\
|
||
|
fi"
|
||
|
echo 'TMP=.uf$$'
|
||
|
echo 'FN=$TMP'
|
||
|
echo 'cat >$TMP <<\!EOF!'
|
||
|
sed -n '/^!File:/,${
|
||
|
/^$/d
|
||
|
/^!File:[ ]*\(.*\)$/s@@!EOF!\
|
||
|
'"$IFCOMMAND"'\
|
||
|
FN=\1\
|
||
|
cat >$TMP <<\\!EOF!@
|
||
|
p
|
||
|
}' $1
|
||
|
echo '!EOF!'
|
||
|
echo $IFCOMMAND
|
||
|
) |
|
||
|
sh
|