Подскажите, плиз, такую штуку: директории есть пачка логов за год по дням 01012023.log - 31122023.log. Каждый лог состоит из строк типа:
01.01.2023 (time) (login) (etc) IP address (CONNECT)
Запускаю команду:
grep -r "" * | fzf --exact
Изначально выхлоп включает имена файлов и все это отсортировано по ним как надо:
01012023.log:01.01.2023 (time) (login) (etc) IP address (CONNECT)
01022023.log:01.02.2023 (time) (login) (etc) IP address (CONNECT)
01032023.log:01.03.2023 (time) (login) (etc) IP address (CONNECT)
01042023.log:01.04.2023 (time) (login) (etc) IP address (CONNECT)
Но как только ввожу что угодно для поиска, сортировка ломается. А по идее, должно точно так же продолжать сортировать с новой выборкой. Что я делаю не так?
Что нужно еще добавить в эту команду? Догадываюсь, что какая-то лабуда с пайпами или опциями grep, хз.
UPDATE: Я идиод, убейте меня (с) Оно изначально сортирует только по первым двум цифрам. Я просто захотел невозможного, чтобы сортировало «правильно» по датам:
01012023.log:01.01.2023 (time) (login) (etc) IP address (CONNECT)
01022023.log:01.02.2023 (time) (login) (etc) IP address (CONNECT)
01032023.log:01.03.2023 (time) (login) (etc) IP address (CONNECT)
01042023.log:01.04.2023 (time) (login) (etc) IP address (CONNECT)
Такое возможно вообще или нет?
РЕШЕНО:
Либо ugrep -Q -P -F --sort=best -%
либо ugrep -Q -P -F --sort=created -%
(
удобно для логов, которые были созданы более-менее в эти же даты).