# Perl grep since 'grep -P' is terrible. local usage pattern modifiers usage="$( cat <&2 print "$usage" >&2 return 1 ;; ([?]) print "$0: unknown option: $OPTARG" >&2 print "$usage" >&2 return 1 ;; esac done shift $(( $OPTIND - 1 )) if (( $# < 1 )); then print "$usage" >&2 return 1 fi pattern="$1" shift perl -n -l -e "print if m/${pattern//\//\\/}/${modifiers}" "$@"