Dra*_*kes 13 linux date-time find
我正在运行此 shell 命令以获取在我的服务器上修改的最新 20 个 PHP 文件。
find . -name '*.php' -printf '%TY-%Tm-%Td %TH:%TM:%TS %Tz %p\n' | sort -r | head -20
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
2016-08-08 01:44:45.3820716170 -0700 ./html/index.php
2016-08-07 05:39:29.0000000000 -0700 ./html/thumb.php
2016-08-07 03:01:44.0000000000 -0700 ./html/paths.php
...
Run Code Online (Sandbox Code Playgroud)
根据strftime 手册页,我应该能够使用 %S(和 %TS)
%S
第二个是十进制数(范围 00 到 60)。(范围最大为 60,以允许偶尔出现闰秒。)
可能有问题find
,但其他时间参数按预期工作。我正在尝试获得如下结果。如果额外的字符串实际上是小数秒,则四舍五入或截断都可以。如何才能做到这一点?
2016-08-08 01:44:45 -0700 ./html/index.php
2016-08-07 05:39:29 -0700 ./html/thumb.php
2016-08-07 03:01:44 -0700 ./html/paths.php
...
Run Code Online (Sandbox Code Playgroud)
(如果有更有效的方法来执行上述命令的操作,我会全力以赴。)
Lar*_*end 14
您可以使用%.n
格式化语法截断小数部分,其中n
是一个整数,指定要保留的字符串的长度。在您的特定情况下,咒语将是:
find . -name '*.php' -printf '%TY-%Tm-%Td %TH:%TM:%.2TS %Tz %p\n' | sort -r | head -20
归档时间: |
|
查看次数: |
1673 次 |
最近记录: |