Bash Substring Verification

last updated in Categories

How can I find out whether a variable called $vech contains a substring called ‘car’ under bash?

vech=’car bus bike rail airplane’


Use the following syntax:

[[ $vech = *car* ]] && echo "Car found in \$vech" || echo "Sorry"

You can also use the following syntax:

  case "$vech" in
    *car*) echo "Car found, do something" ;;
    *bus*) echo "call bus()";;
   *) echo "Error..."
  esac

You can use grep to display matching pattern only:
grep -o "car" <<<"$vech"
OR
echo "$vech" | grep -o "car"

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 0 comments/add one below):