#!/bin/sh hlp() { printf >&2 '%s\n' 'dif - needs as argument two files' } Die() { e=$? trap - EXIT rm -f $TMP1 $TMP2 exit ${1:-$e} }; trap Die INT HUP EXIT [ $# -lt 2 ] && hlp && Die 1 TMP1=$(umask 077; mktemp) TMP2=$(umask 077; mktemp) printf >&2 ' creating\n' printf >&2 ' +%s' $TMP1 $TMP2 strip() { [ $# -lt 1 ] && return 1 sed 's/[ \t]//g' "$1" | sed 's/;.*$//' | sed '/^$/d' } strip "$1" >$TMP1 strip "$2" >$TMP2 diff -u $TMP1 $TMP2 Die