Respondendo estritamente à sua pergunta: sim, você pode, mas não funciona.
shopt -s extglob
ls -l ../src/*!(_tst).f90
O problema é que !(...)
ficará feliz em corresponder a uma string vazia, portanto, qualquer nome de arquivo foo_tst.f90
terá apenas o *
engolindo os sete primeiros caracteres.
Eu não conheço uma maneira básica de fazer isso sem usar o find (1).
No zsh:
setopt extended_glob
ls -ld ../src/*.f90~*_tst.f90
Isso usa o recurso ~
extended_glob, em que A~B
resulta em algo correspondente a A
que não corresponde a B
.