[mdk-re] File creation time in Linux & others
Henri Bourbon
=?iso-8859-1?q?npecca_=CE=C1_yahoo=2Ecom?=
Вт Сен 4 15:27:13 MSD 2001
Tuesday, September 04, 2001, 12:29:54, Vladimir Karpinsky wrote:
>>> можно ли как-нибудь средствами shell, может быть perl(?), в имя файла
>>> вставить дату его создания?
HB>> Дата создания файла? А такое вообще в Linux бывает?
> Я имею ввиду ту дату, которую показывает ls -l, ее вероятно правильнее
> называть датой последней модификации, но в моем случае это не имеет
> значения, т.к. файл не меняется после его создания.
> Чуть подробнее опишу задачу: есть файлы данных, у которых дата
> создания/модификации соответствует первому отсчету, хочется эту дату
> вытащить в имя файла, дабы облегчить себе задачу поиска нужного.
Вы, действительно, лишь *чуть* подробнее описали задачу :) Лучше всего было
бы привести 1 пример, тогда все было бы понятно.
Как я понял, вам нужно следующее: имеем файл foo, дата модификации к-рого --
1 янв 1990. Нужно переименовать его в "foo.1 янв 1990" или что-то в таком
духе. Делается это несложно:
$ ls
data1 data2 data3 data4
$ ls -l
total 66
-rw-r--r-- 1 0 everyone 17168 Jan 12 1997 data1
-rw-r--r-- 1 0 everyone 32768 Dec 23 1998 data2
-r--r--r-- 1 0 everyone 61952 Dec 3 1999 data3
-rw-r--r-- 1 0 everyone 18944 Feb 2 2001 data4
$ add_mtime_to_filename *
$ ls
data1.Sun_Jan_12_1997 data3.Fri_Dec_03_1999
data2.Wed_Dec_23_1998 data4.Fri_Feb_02_2001
Что и требовалось доказать. А мини-скриптик add_mtime_to_filename таков:
$ cat /Tools/add_mtime_to_filename
#!sh
FORMAT="%a_%b_%d_%Y" # Формат даты изменить по вкусу
for file do
mv "$file" "$file.`date --reference=$file +"$FORMAT"`"
done
--
HB
Подробная информация о списке рассылки community