Substring extraction in bash

To extract substrings from variables in bash, we can use the following syntax

${variable_name:offset:length}

Caveats:

Get the file extension of a filename

$ filename=foobar.txt
$ echo ${filename: -4}
.txt

Get the file name without extension

$ filename=foobar.txt
$ echo ${filename:0: -4}
foobar

References