Skip to content

Commit

Permalink
refactor: use grep -E/-F instead of fgrep/egrep
Browse files Browse the repository at this point in the history
  • Loading branch information
kxxt committed Sep 22, 2022
1 parent 1de00d1 commit 43bcc71
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/etc/cat-and-grep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Options:
-i Case insensitive search.
'

GREPPER=fgrep
GREPPER=grep
INVERT=0
GREPFLAGS='q'
while getopts ':vieh' OPTION; do
Expand All @@ -39,7 +39,7 @@ while getopts ':vieh' OPTION; do
GREPFLAGS="i$GREPFLAGS"
;;
e)
GREPPER=egrep
GREPFLAGS="E$GREPFLAGS"
;;
h)
echo "$USAGE"
Expand All @@ -51,6 +51,15 @@ while getopts ':vieh' OPTION; do
esac
done

# an utility function to check if a string contains a substring
stringContain() { [ -z "$1" ] || { [ -z "${2##*$1*}" ] && [ -n "$2" ];};}

if ! stringContain 'E' "$GREPFLAGS"
then
# use F flag if there is not an E flag
GREPFLAGS="F$GREPFLAGS"
fi

shift $((OPTIND - 1))

# use gnu version of tool if available (for bsd)
Expand Down

0 comments on commit 43bcc71

Please sign in to comment.