脚本日期和时间

时间:2019-07-15 08:04:10

标签: shell

ls -ltr的输出是

-rw-r--r-- 1 abc abc 185 Dec 19 11:23 testfile1.csv 
-rw-r--r-- 1 abc abc 185 Dec 19 11:24 testfile.csv 
-rw-r--r-- 1 abc abc 185 Dec 19 11:25 testfile3.csv 
-rw-r--r-- 1 abc abc 185 Dec 19 11:26 testfile4.csv

我需要为上述所有文件打印timedate

1 个答案:

答案 0 :(得分:0)

更新:基于评论的更好的选择(谢谢!)。

stat -f "%Sm %SN" *
Jun  2 13:23:26 2013 moduli
Jun  2 13:23:26 2013 ssh_config
Oct 28 20:52:42 2008 ssh_host_dsa_key
Oct 28 20:52:42 2008 ssh_host_dsa_key.pub
Aug 18 18:59:51 2014 ssh_host_ecdsa_key
Aug 18 18:59:51 2014 ssh_host_ecdsa_key.pub
Oct 28 20:52:42 2008 ssh_host_key
Oct 28 20:52:42 2008 ssh_host_key.pub
Oct 28 20:52:43 2008 ssh_host_rsa_key
Oct 28 20:52:43 2008 ssh_host_rsa_key.pub
Jul 26 14:58:50 2016 sshd_config

stat -f "%Sm %SN" *.csv
Jul 15 02:32:37 2019 test1.csv
Jul 15 02:32:37 2019 test2.csv
Jul 15 02:33:36 2019 test3.csv
Jul 15 02:33:36 2019 test4.csv

原始回复:

您是否要查找带有每个文件名称及其时间/日期的格式化输出?如果是这样,这是一种选择。您可以使用awk字段来根据您的要求重新排列输出。

ls -ltr | awk ' !/total/ {printf "%-30s: %s %s %s\n", $9, $8, $7, $6}'

在系统目录(在我的机器上)上输出示例:

ssh_host_key.pub    : 2008 28 Oct
ssh_host_key        : 2008 28 Oct
ssh_host_dsa_key.pub: 2008 28 Oct
ssh_host_dsa_key    : 2008 28 Oct
ssh_host_rsa_key.pub: 2008 28 Oct
ssh_host_rsa_key    : 2008 28 Oct
ssh_config          : 2013 2 Jun
moduli              : 2013 2 Jun
ssh_host_ecdsa_key.pub: 2014 18 Aug
ssh_host_ecdsa_key  : 2014 18 Aug
sshd_config         : 2016 26 Jul

最近创建的测试目录的输出。

ls -ltr | awk ' !/total/ {printf "%-30s: %s %s %s\n", $9, $8, $7, $6}'
test2.csv                     : 02:32 15 Jul
test1.csv                     : 02:32 15 Jul
test4.csv                     : 02:33 15 Jul
test3.csv                     : 02:33 15 Jul