Вы можете использовать rename
Perl для достижения этой цели. Это должно прийти с дистрибутивом Perl; в Debian он упакован как часть пакета perl под именем prename
с псевдонимом для rename
.
Например:
$ ls -1
$ touch abc_def_ghi_121222_as.csv xy_cv_sac_bnmkj_ppa_jkl_lkkjll.csv
$ ls -1
abc_def_ghi_121222_as.csv
xy_cv_sac_bnmkj_ppa_jkl_lkkjll.csv
$ rename 's/_[^_]*_[^_]*\.csv$/.csv/' *
$ ls -1
abc_def_ghi.csv
xy_cv_sac_bnmkj_ppa.csv
$
Это обрабатывает все заданные имена файлов, применяя предоставленное регулярное выражение и переименовывает каждый файл в результат.
Perl должен быть доступен в большинстве систем, так что, хотя это и не строго решение оболочки, это не должно считаться экзотикой.