我想用bash做这样的事情(查看上次修改文件的时间):
ls -lha
ls --full-time
但我必须在AIX上使用core-shell。如何实现这一目标?
答案 0 :(得分:4)
您可以使用istat:
$ istat test.ksh Inode 86741 on device 10/8 File Protection: rw-r----- Owner: 6361(user2) Group: 621(norgroup) Link count: 1 Length 116 bytes Last updated: Thu Jun 9 14:25:11 EDT 2011 Last modified: Thu Jun 9 14:25:11 EDT 2011 Last accessed: Fri Jan 20 16:08:46 EST 2012
查看我的blog - AIX version of stat command – Command to get File Timestamp
答案 1 :(得分:0)
AIX有stat
吗?也许你可以这样做:
stat -c "%y %n" *
答案 2 :(得分:0)
您可能最好安装相关的GNU软件包。除非您喜欢编写自己的程序,否则没有简单的替代方案。核心AIX工具不会那么容易 - 除非你进入Perl。 (我很确定安装了Perl并且可以编写代码,因此它甚至可以在AIX上找到相当陈旧的Perl版本。)
答案 3 :(得分:0)
我使用这个Perl单行:
perl -e 'my ($sec, $min, $hour, $mday, $mon, $year) =localtime((stat(shift))[9]);printf("%04d-%02d-%02d %02d:%02d:%02d\n", $year+1900, $mon+1, $mday, $hour, $min, $sec)' /etc/passwd
或者在bash中这样:
filetime=$(perl -e 'my ($sec, $min, $hour, $mday, $mon, $year) =localtime((stat(shift))[9]);printf("%04d-%02d-%02d %02d:%02d:%02d\n", $year+1900, $mon+1, $mday, $hour, $min, $sec)' /etc/passwd)
echo $filetime
对于您的应用程序,您可能需要删除\ n。
这比接受的答案更有优势: