Страницы

Поиск по вопросам

понедельник, 4 февраля 2019 г.

Как в bash узнать имя последнего файла скопированного в папку?

Пробовал варианты: ls -lrt | awk '{ f=$NF }; END{ print f }' и ls -t1 | head -n1 Но последний скопированный в папку файл не показывается. Какие еще есть варианты? UPD: Вариант тоже не работает: ls -t1 | tail -n1 Все эти команды выдают всегда какое-то одно имя файла для моей папки. Хотя файлы продолжают непрерывно поступать в папку. Нужен именно последний попавший в папку файл. Это необязательно должен быть самый новый файл.


Ответ

@abg, время модификации файла измеряется в секундах. Поэтому при массовом копировании таких файлов (с одинаковым временем) будет много. Ваша команда ls -t1 | tail -n1 показывает последний (самый старый, а не свежий) файл. А вот ls -t | head -1 покажет самый новый (один из них). А вообще-то, если опишите задачу поподробнее, то может быть найдется какое-то лучшее решение.

Комментариев нет:

Отправить комментарий