Я хотел бы построить шаблон из вашего exts
массива, а затем использовать sed
:
f1=f1.e1.e2.e3.sh.pl.cpp exts=(sh pl py) function array_to_regex_alts() { # joins the array elements by \| echo -n "$1"; shift; printf "\|%s" "$@" } pattern="\.\($(array_to_regex_alts $ )\)" echo $f1 | sed "s/$pattern//g"