#!/bin/sh -e
#
# Skript zum gepufferten Be- bzw. Überschreiben von Dateien

case $# in 
0|1)	echo "Usage: $0 file filter" >&2
	exit 1;;
*)	file=$1
	shift
esac

if [ -f $file+ ]
then
	echo "$file+ exists"
	exit 1
else
	trap "rm -f $file+; exit 1" 1 2 3 15
	cp -p $file $file+
	if < $file "$@" > $file+
	then

		mv $file+ $file
	else
		echo "$1 failed, $file unchanged"
		rm $file+
	        exit 1
	fi
fi
