1

您好,目前在 linux 中,我使用一个文件运行 stat ,它会产生以下结果:

File: `/var/www/html/assetlib/web/uploads/5d32500c44e62277d198a89d3ed8f69729d83e62.png'  
Size: 18241         Blocks: 40         IO Block: 4096   regular file                       
Device: ca01h/51713d    Inode: 131903      Links: 1
Access: (0666/-rw-rw-rw-)  Uid: (   48/  apache)   Gid: (   48/  apache)           
Access: 2013-06-04 05:33:08.909346476 +0000           
Modify: 2013-06-04 05:33:08.909346476 +0000                                             
Change: 2013-06-04 05:33:08.909346476 +0000\

我怎样才能获得访问时间,我只想能够拥有 2013-06-04 05:33:08 我尝试使用 awk 但不成功,我是 linux 的菜鸟!任何帮助是极大的赞赏。谢谢!

4

5 回答 5

1

--printf='%x'给出人类可读的最后访问时间 ( man stat)。然后使用cut摆脱之后发生的事情.

$ stat --printf='%x' myfile | cut -d. -f 1
2013-06-02 16:00:15
于 2013-06-09T06:45:59.547 回答
1

尝试这个

stat file | awk "NR==6"
于 2013-06-09T06:46:57.683 回答
1
 Kaizen ~/so_test $ stat -c "%x" zsleep_cntr.sh
 2013-06-06 09:51:08.981417300 +0530

这有帮助吗?

于 2013-06-09T06:50:14.503 回答
0

这是使用 awk 的一种方法:

stat myfile | awk '$1=="Access:" && NF==4 { gsub("\\..*$","",$3); print $2," ",$3 }'
于 2013-06-09T08:22:52.990 回答
0

或者使用 grep 和 cut:

stat backup.txt | grep Access | grep -v Uid | cut -b 9-37
于 2013-06-09T06:55:05.903 回答