#!/bin/sh # sediff [-pSTRIP] [SEDSCRIPT] {FILES...} - generate diff from sed execution strip=0 case "$1" in -p*) strip=${1#-p} shift esac expr=$1 shift for file; do label=$file n=$strip while [ "$((n = n-1))" -ge 0 ]; do label=${label#*/} done sed -e "$expr" "$file" | diff -u --label "$label.orig" "$file" --label "$label" - done