URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 1920
[ Назад ]

Исходное сообщение
"Атрибуты файла год\месяц\день\время"

Отправлено DELGADO , 28-Июл-03 05:30 
Как вывести на экран в Unix у файла вне зависимости от даты его создания целиком год/месяц/день/время?
В случае создания файла в текущем году, год не выводится по умолчанию, а если файл создан не в текущем,а в прошлые годы, то - не выводится время... Помогите, я в этом всем деле ничего не смыслю. Уже искать замучилась.

Содержание

Сообщения в этом обсуждении
"Атрибуты файла год\месяц\день\время"
Отправлено DerinI , 28-Июл-03 10:00 
>Как вывести на экран в Unix у файла вне зависимости от даты
>его создания целиком год/месяц/день/время?
>В случае создания файла в текущем году, год не выводится по умолчанию,
>а если файл создан не в текущем,а в прошлые годы, то
>- не выводится время... Помогите, я в этом всем деле ничего
>не смыслю. Уже искать замучилась.

   Imho в Unix нет понятия время создания файла. Есть время последнего доступа, записи и что то еще. Если этот вывод делается в программе, то дергай stat и анализируй ее вывод.


"Атрибуты файла год\месяц\день\время"
Отправлено konst , 28-Июл-03 15:42 
SHELL:
date -r $filename

"Атрибуты файла год\месяц\день\время"
Отправлено sas , 29-Июл-03 20:52 
>Как вывести на экран в Unix у файла вне зависимости от даты
>его создания целиком год/месяц/день/время?
>В случае создания файла в текущем году, год не выводится по умолчанию,
>а если файл создан не в текущем,а в прошлые годы, то
>- не выводится время... Помогите, я в этом всем деле ничего
>не смыслю. Уже искать замучилась.

man ls
Parameters may be different.

For example on my system:

ls --full-time | awk '
BEGIN {
    m[ "Jan" ] = "01"
    m[ "Feb" ] = "02"
    m[ "Mar" ] = "03"
    m[ "Apr" ] = "04"
    m[ "May" ] = "05"
    m[ "Jun" ] = "06"
    m[ "Jul" ] = "07"
    m[ "Aug" ] = "08"
    m[ "Sep" ] = "09"
    m[ "Oct" ] = "10"
    m[ "Nov" ] = "11"
    m[ "Dec" ] = "12"
}
NF == 11 {
    printf( "%s/%s/%s\t%s\n", $10, m[ $7 ], $8, $11 );
}
'

Good luck
--- sas


"Атрибуты файла год\месяц\день\время"
Отправлено MikeK , 30-Июл-03 12:12 
>>Как вывести на экран в Unix у файла вне зависимости от даты
>>его создания целиком год/месяц/день/время?
>>В случае создания файла в текущем году, год не выводится по умолчанию,
>>а если файл создан не в текущем,а в прошлые годы, то
>>- не выводится время... Помогите, я в этом всем деле ничего
>>не смыслю. Уже искать замучилась.
>
>man ls
>Parameters may be different.
>
>For example on my system:
>
>ls --full-time | awk '
>BEGIN {
> m[ "Jan" ] = "01"
> m[ "Feb" ] = "02"
> m[ "Mar" ] = "03"
> m[ "Apr" ] = "04"
> m[ "May" ] = "05"
> m[ "Jun" ] = "06"
> m[ "Jul" ] = "07"
> m[ "Aug" ] = "08"
> m[ "Sep" ] = "09"
> m[ "Oct" ] = "10"
> m[ "Nov" ] = "11"
> m[ "Dec" ] = "12"
>}
>NF == 11 {
> printf( "%s/%s/%s\t%s\n", $10, m[ $7 ], $8, $11 );
>}
>'
>
>Good luck
>--- sas

А не подскажите, как это будет в HP-UX B.11.00, или хотя бы аналог команды --full-time?


"Атрибуты файла год\месяц\день\время"
Отправлено sas , 30-Июл-03 13:24 
>>>Как вывести на экран в Unix у файла вне зависимости от даты
>>>его создания целиком год/месяц/день/время?
>>>В случае создания файла в текущем году, год не выводится по умолчанию,
>>>а если файл создан не в текущем,а в прошлые годы, то
>>>- не выводится время... Помогите, я в этом всем деле ничего
>>>не смыслю. Уже искать замучилась.
>>
>>man ls
>>Parameters may be different.
>>
>>For example on my system:
>>
>>ls --full-time | awk '
>>BEGIN {
>> m[ "Jan" ] = "01"
>> m[ "Feb" ] = "02"
>> m[ "Mar" ] = "03"
>> m[ "Apr" ] = "04"
>> m[ "May" ] = "05"
>> m[ "Jun" ] = "06"
>> m[ "Jul" ] = "07"
>> m[ "Aug" ] = "08"
>> m[ "Sep" ] = "09"
>> m[ "Oct" ] = "10"
>> m[ "Nov" ] = "11"
>> m[ "Dec" ] = "12"
>>}
>>NF == 11 {
>> printf( "%s/%s/%s\t%s\n", $10, m[ $7 ], $8, $11 );
>>}
>>'
>>
>>Good luck
>>--- sas
>
>А не подскажите, как это будет в HP-UX B.11.00, или хотя бы
>аналог команды --full-time?

Sorry, as I remember ls in HP-UX does not have full time related parameter. But you can play with locale settings (LC_TIME) as I recall. Sorry do not have access to HP now, so cannot help more. Try google

Other solutions are either to install GNU file utilities including "ls" or write shell script which will deal with heuristic date from ls output (for old files time part will be lost as I understood (may be I'm wrong here)), or write your own simple C program.

Also forgot to mention that we are talking of access and modifiction times not file creation time.

Good luck
--- sas

PS Sorry for english, but system is not fully russified. I will try to fix it ASAP