2015-08-27 5 views
0

Попытка сделать это с помощью командной строки или с ruby, но у меня есть несколько папок, имена которых соответствуют дате (это дампы db), я хочу найти последнюю папку и сделать с ней что-нибудь.имена папок, организованных по дате, как найти последние?

Пример: /dumps имеет папки: /dumps/2015-08-09, /dumps/2015-08-11, /dumps/2015-08-20

Как я могу сделать это в командной строке или, возможно, Ruby?

Спасибо!

+3

пример данные, с которыми вы работаете, помогут многим – dax

+0

показать нам пример e из имен папок, пожалуйста. – Anthony

+0

Обновлено, чтобы показать примеры –

ответ

4

Поскольку вложенные папки имеют осмысленные имена:

last_folder = Dir.glob("/dumps/*").sort.last 
+0

Hahaha Я просто добавил это как комментарий. – engineersmnky

+0

В итоге я сделал что-то вроде этого: 'Dir ['dumps/**']. Sort_by {| x | Time.new (x.split ('/'). Last) .to_i} .last' –

+0

Не знаю, зачем вам нужна эта сложность: формат даты% Y-% m-% d отлично сортируется лексически. –

0

использование Ls

ls -lrt dumps/* 

должны работать

и чем вы можете использовать tail -n1, чтобы получить последнюю строчку

+0

Хм, мне нужно снова использовать это имя. Как я могу получить его для вывода? –

Смежные вопросы