#!/bin/bash file_to_search="" function usage { retval="$1" case "$retval" in 0) ;; *) exec 1>&2 ;; esac echo "Usage: $0 --file md5sum --help" exit "$retval" } while [ "$#" -ge 1 ] do case "$1" in --file) file_to_search="$2" shift ;; --help|-h) usage 0 ;; *) echo "$0: unrecognized option: $1" 1>&2 usage 1 ;; esac shift done case "$file_to_search" in "") echo "$0: --file is a required option" 1>&2 exit 1 ;; */*) echo "$0: Please specify the file to search for without any slashes" 1>&2 exit 1 ;; esac for package in $(brew list) do if brew ls "$package" | grep -E -q "\\<$file_to_search\$" then echo "$package" break fi done