find . -type f -print0 | xargs -0 stat -c '%y %n' | sort -n -k 1,1 | awk 'END{print $NF}'
Команда «find . -type f -print0 | xargs -0 stat -c ‘%y %n’ | sort -n -k 1,1 | awk ‘end{print $nf}'» выполняет поиск последнего измененного файла в текущем каталоге и его подкаталогах с высокой точностью в наносекундах.
Сначала команда «find . -type f -print0» ищет все файлы в текущем каталоге и его подкаталогах, выводя их список с нулевым разделителем.
Затем команда «xargs -0 stat -c ‘%y %n'» передает этот список файлов в команду «stat -c ‘%y %n'», которая выводит информацию о каждом файле, включая дату последнего изменения, в формате «YYYY-MM-DD HH:MM:SS.NNNNNNNNN». Тут «%y» отвечает за вывод даты и времени, а «%n» — за вывод имени файла.
Далее команда «sort -n -k 1,1» сортирует этот список файлов по дате последнего изменения в порядке возрастания, где «-n» обозначает числовую сортировку, а «-k 1,1» указывает первое поле для сортировки.
Команда «awk ‘end{print $nf}'» используется для вывода только последней строки из списка файлов, содержащей имя последнего измененного файла. Здесь «nf» — это переменная, содержащая общее количество полей (т.е. количество слов) в строке вывода команды «sort».
Альтернативой может быть использование команды «ls -lt» для сортировки файлов по дате последнего изменения в порядке убывания. Однако, команда «find» позволяет искать файлы во всех подкаталогах, в то время как «ls -lt» работает только с текущим каталогом.