make.hfiles 495 B

1234567891011121314151617181920212223242526272829303132333435
  1. : Update Files from database
  2. PATH=/bin:/usr/bin
  3. case $# in
  4. 1) ;;
  5. *) echo use: $0 file >&2
  6. exit 1
  7. esac
  8. (
  9. IFCOMMAND="if (<\$FN) 2>/dev/null;\
  10. then if cmp -s \$FN \$TMP;\
  11. then rm \$TMP;\
  12. else mv \$TMP \$FN;\
  13. echo update \$FN;\
  14. fi;\
  15. else mv \$TMP \$FN;\
  16. echo create \$FN;\
  17. fi"
  18. echo 'TMP=.uf$$'
  19. echo 'FN=$TMP'
  20. echo 'cat >$TMP <<\!EOF!'
  21. sed -n '/^!File:/,${
  22. /^$/d
  23. /^!File:[ ]*\(.*\)$/s@@!EOF!\
  24. '"$IFCOMMAND"'\
  25. FN=\1\
  26. cat >$TMP <<\\!EOF!@
  27. p
  28. }' $1
  29. echo '!EOF!'
  30. echo $IFCOMMAND
  31. ) |
  32. sh