#!/bin/sh if [ $# -eq 0 -o "${1:-}" = "-h" ] ; then echo "usage: $0 [-v] pattern [files]" return 1 fi # Support FreeBSD sed and GNU sed case $uname in FreeBSD|Darwin) FLAGS="-El" ;; *) EREG_FLAG="-ru" ;; esac func="p" if [ "$1" = "-v" ] ; then shift func="!p" fi pattern="$1" shift sed $FLAGS -ne "/^ *$/!H; /^ *$/ {x; /$pattern/$func; d;}; $ { x; /$pattern/$func; d; }" "$@"