Страница 1 из 1

как в Линухе получить время создания файла? - Оказалось что

Добавлено: 15 фев 2002, 09:39
Anonymous
Есть необходимость в простом скрипте shell получить возраст файла(текущее время-время создания=возраст).
Я засучил рукава и присел!!!!!

find может определить что файл старше, но при этом не выдаёт насколько.

ls -l выдаёт цифры и буквы, тоже не очень-то к матиметике пришьёшь...


Может есть ещё варианты??
Желательно с примером...

Всем спасибо!

как в Линухе получить время создания файла?

Добавлено: 15 фев 2002, 16:03
Aerostar
Попробуй это (я не совсем понял задачу, но этой командой ты можешь выщемить время, хотя, возможно есть какая-нибудь утилита, которая делает это все в один раз)
$ our_file_date=`ls -l --full-time rest.sh | awk --source='{print $8,$7,$10,$9;}'`
$ echo $our_file_date
07 Feb 2002 06:40:35
Обрати внимание на прямые и обратные кавычки.

как в Линухе получить время создания файла?

Добавлено: 18 фев 2002, 05:59
Anonymous
Спасибо конечно, но я хотел просто получить возраст файла, для этого мне надо получить время создания файла в приемлемом для сравнения формате, чтобы я мог смело от текущего времени отнять время создания, и чтобы у меня скрипт получил три переменные :
1) время создания;
2) текущее время;
3) возраст файла .

Вот так!
P.S. Предлагаемый вариант мне не поможет...

(Отредактировал(а) pimbler - 6:06 - 18 Фев., 2002)

как в Линухе получить время создания файла?

Добавлено: 20 фев 2002, 10:50
Aerostar
А возраст файла в каких единицах?

как в Линухе получить время создания файла?

Добавлено: 20 фев 2002, 12:32
Anonymous
В принципе не важно, но лучше в минутах, даже если секунды, то можно просто разделить их на 60 и всё.

Если честно, то мне тут кореш написал на С++ маленькую фигу, я её собрал и она тупо выводит возраст в секундах, единственный параметр имя файла берёт и выдаёт одну цифру...

как в Линухе получить время создания файла?

Добавлено: 21 фев 2002, 10:25
Aerostar
На C++ каждый может. На bash - смешнее !

как в Линухе получить время создания файла?

Добавлено: 21 фев 2002, 11:38
Aerostar
Этот пример на чистом bash с использованием стандартной утилиты date вычисляет время, прошедшее от последней модификации файла YOUR_FILENAME в минутах, а затем выводит его на экран. Пришлось MAN-ы по bash и date  читать. Пользуйся, наздоровье!
#!/bin/sh
((file_age=(`date +%s` - `date -r YOUR_FILENAME +%s`)/60))
echo $file_age

(Отредактировал(а) Aerostar - 11:42 - 21 Фев., 2002)

как в Линухе получить время создания файла?

Добавлено: 27 фев 2002, 11:00
Anonymous
СПАСИБО! Это именно ОНО!

как в Линухе получить время создания файла?

Добавлено: 27 фев 2002, 11:09
Aerostar
Пожалуйста, приходите еще! ;)