#!/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