Как проверить дату последнего изменения файла в AIX, используя скрипт bash? - PullRequest
0 голосов
/ 25 июня 2019

Я хочу проверить дату последнего изменения файла в AIX, используя скрипт bash.

Я пробовал,

date -r file.txt "+%m-%d-%Y"
stat -c %y file.txt

, но не работает в AIX.

Ответы [ 2 ]

3 голосов
/ 25 июня 2019

Если вы не можете найти подходящую утилиту, вы всегда можете воспользоваться perl:

perl -MPOSIX=strftime -e 'printf "%s\n", strftime("%c", localtime((stat(shift @ARGV))[8]))' filename

или более разборчиво:

perl -e '
    use POSIX qw(strftime);
    my $filename  = shift @ARGV;
    my @filedata  = stat $filename;
    my $mtime     = $filedata[8];
    my @timedata  = localtime $mtime;
    my $timestamp = strftime "%c", @timedata;
    print "$timestamp\n";
' filename

Выберите формат strftime для вашегосимпатия.Если вам просто нужно время эпохи, выведите $mtime.

2 голосов
/ 25 июня 2019

Как насчет:

istat file
Inode 263 on device 10/8        File
Protection: rw-r--r--
Owner: 0(root)          Group: 0(system)
Link count:   1         Length 14682 bytes

Last updated:   Tue Sep 15 10:50:15 PDT 2018
Last modified:  Tue Sep 15 10:50:15 PDT 2018
Last accessed:  Tue Nov  3 12:01:12 PST 2018

Если вы еще не поняли:

date -d "$( istat file | awk '/modified/{gsub( /^[^:]+: +/,"",$0); print}' )"   "+%m-%d-%Y"

PS: "+%m-%d-%Y" - глупый формат даты, потому что он не 'сортировать естественно."+%Y-%m-%d" будет иметь гораздо больше смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...