Em bash (e ksh também, se bem me lembro) a expansão de parâmetro permite substrings no formato $ {param: offset: length} . Experimente o seguinte, e você verá como funciona: -
fname=axheMyfile.txt
echo ${fname:0:4}
Existem outras expansões que permitem a extração de substring baseada em pesquisa, por exemplo, ${fname%.*}
ou ${fname%%.*}
removerá o .txt (haveria uma diferença se houvesse mais de um ponto em o nome).