I want to delete old files and keep only the most recent from each file pattern based on the first five characters (aa_te, bb_co, cc_co, dd_xy) and the date and time in the file name.
Note:
All files have .err.mm_dd_yyyy hr_mm_ss am/pm.csv for the sorting. Filename length may vary
Example: I have the below CSV files in my folder c/test
aa_te_bbc_207_mc_ghghgh.err.05_31_2021 7_15_04 am.csv aa_te_ccd.err.05_30_2021 7_55_35 pm.csv bb_co_ddee_354_m.err.06_15_2021 5_20_00 am.csv bb_co_eeffff.err.06_15_2021 5_20_01 am.csv cc_co_eeffyy_cc.err.04_10-2020 12_00_00 am.csv dd_xy_eeffyyvv_cc.err.04_10-2020 12_00_00 am.csv dd_xy_eeffyyvv_cc.err.04_10-2020 12_10_25 am.csv What I expect remains of those afterwards:
aa_te_bbc_207_mc_ghghgh.err.05_31_2021 7_15_04 am.csv bb_co_eeffff.err.06_15_2021 5_20_01 am.csv cc_co_eeffyy_cc.err.04_10-2020 12_00_00 am.csv dd_xy_eeffyyvv_cc.err.04_10-2020 12_10_25 am.csv