如何使用bash脚本检查AIX中文件的最后修改日期?

时间:2019-06-24 23:20:17

标签: linux bash date aix

我想使用bash脚本检查AIX中文件的最后修改日期。

我尝试过

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

但不能在AIX中使用。

2 个答案:

答案 0 :(得分:3)

如果找不到合适的特定实用程序,则可以始终使用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

答案 1 :(得分:2)

怎么样:

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"

P.S。:"+%m-%d-%Y"是一种愚蠢的日期格式,因为它不是自然排序的。 "+%Y-%m-%d"会更有意义。