I'm having a hard time getting regex matches to work in a bash case statement.
Example code:
#!/bin/bash
str=' word1 word2'
echo "With grep:"
echo "$str" |grep '^\s*\<word1\>'
echo "With case:"
case "$str" in
'^\s*\<word1\>') echo "$str" ;;
esac
The example works with grep, but not with case... I'm confused, because some simpler regexes work with case. Does case use a different syntax for regex? Am I just not escaping things properly?
case
does not support regex, it supports shell globbing. – heemayl Jun 10 '16 at 17:33