Я не думаю, что вам нужно перекодировать даты:
awk '{split($3, p, /:/); if (prev && (prev + 2) % 60 <= p[3]) {
print line}; prev=p[3]; line=$0}' logfile
GNU ls
выводит escape-последовательности только для раскрашенного текста при записи на терминал, а не при перенаправлении в файл или конвейер.
Для этого используйте ls --color=always
.
В руководстве GNU ls
говорится:
Using color to distinguish file types is disabled both by default and
with --color=never. With --color=auto, ls emits color codes only when
standard output is connected to a terminal. [...]
Я предполагаю, что ваша команда ls
ведет себя как ls --color=auto
по умолчанию, возможно, из-за использования псевдонима ls
.