У меня есть каталог с большим количеством файлов.Каждый день новые файлы добавляются автоматически.
Имена файлов имеют следующий формат: [GROUP_ID] _ [RANDOM_NUMBER] .txt Пример: 012_1234.txt
Для каждого дня, для каждого GROUP_ID (032, 024, 044 ... и т. Д.), Я хочу сохранить только самый большой файл дня.
Так, например, для двух дней 27 и 28 марта у меня есть:
March 27 - 012_1234.txt - 12ko
March 27 - 012_0243.txt - 3000ko
March 27 - 016_5647.txt - 25ko
March 27 - 024_4354.txt - 20ko
March 27 - 032_8745.txt - 40ko
March 28 - 032_1254.txt - 16ko
March 28 - 036_0456.txt - 30ko
March 28 - 042_7645.txt - 500ko
March 28 - 042_2310.txt - 25ko
March 28 - 042_2125.txt - 34ko
March 28 - 044_4510.txt - 35ko
И я хочу получить:
March 27 - 012_0243.txt - 3000ko
March 27 - 016_5647.txt - 25ko
March 27 - 024_4354.txt - 20ko
March 27 - 032_8745.txt - 40ko
March 28 - 032_1254.txt - 16ko
March 28 - 036_0456.txt - 30ko
March 28 - 042_7645.txt - 500ko
March 28 - 044_4510.txt - 35ko
Не могу найти подходящую команду bash ls / find для этого, у кого-то есть идея?
С этой командой яможет отображать самый большой файл для каждого дня.
ls -l *.txt --time-style=+%s |
awk '{$6 = int($6/86400); print}' |
sort -nk6,6 -nrk5,5 | sort -sunk6,6
Но я хочу самый большой файл каждого файла GROUP_ID каждого дня.Таким образом, если для файла group_id "012" существует один файл из 10ko, я хочу его отобразить, даже если для идентификатора группы других пользователей есть файлы большего размера ...