Вы можете добиться этого, используя al oop с awk:
$ for file in *.csv; do echo $file | awk -F '[^[:alnum:]]' '{print $2}'; done
-F '[^[:alnum:]]'
указывает awk использовать символы без букв и цифр c в качестве разделителя.
Другой способ для этого нужно использовать расширение bash параметра оболочки, чтобы выводить только ту часть имени файла, которую вы хотите. Это, очевидно, работает только в том случае, если ваши имена файлов имеют согласованное форматирование:
$ for file in *.csv; do echo "${file:5:8}"; done
Я подумал, что было бы неплохо использовать расширение параметра bash, чтобы удалить нежелательный префикс и суффикс, но у вас не может быть вложенного расширения (afaict ) так что это лучшее, что я мог придумать:
$ for file in *.csv; do echo "$(tmp=${file%.csv}; echo ${tmp#THIS_})"; done