36 lines
495 B
Plaintext
Executable file
36 lines
495 B
Plaintext
Executable file
: 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
|