【问题标题】:timestamp difference of two files in unix shellunix shell中两个文件的时间戳差异
【发布时间】:2011-10-28 14:43:24
【问题描述】:

我有两个文件。我需要计算两个文件之间的时间戳差异。

我需要 test1 和 test2 之间的时间戳差异: -rw-r--r-- 1 根根 1 8 月 16 日 16:26 test1 -rw-r--r-- 1 root root 2 2010 年 12 月 13 日 test2

我需要 test3 和 test4 之间的时间戳差异。

-rw-r--r--   1 root     root           3 Aug 16 16:26 test3
-rw-r--r--   1 root     root           4 Aug 16 17:34 test4

请告诉我如何在 Solaris 中实现它。 我正在使用 Solaris,我的机器信息是:

- Sol 5.10 Generic_127128-11 i86pc i386 i86pc. 

如果您需要了解其他任何信息,请告诉我。

我在 Solaris 中将以下答案日期转换为秒。

truss /usr/bin/date 2>&1 | grep ^time | awk -F"= " '{print $2}'

但这是针对当前日期的.. 我们如何为文件(例如 test3,如上)?

【问题讨论】:

  • 您希望时间戳差异达到什么精度级别,即以天、小时或分钟为单位?

标签: unix timestamp solaris


【解决方案1】:

尝试这样的方法以秒为单位获取日期

date +%s -d "`ls -l test1 | awk -F " " '{ print $6,$7 }'`"

【讨论】:

  • 它不起作用 :( 。抛出错误:- bash:命令替换:第 1 行:在寻找匹配的 "' bash: command substitution: line 2: syntax error: unexpected end of file bash: command substitution: line 1: unexpected EOF while looking for matching "' 时出现意外 EOF bash:命令替换:第 2 行:语法错误:意外文件 awk 结尾:无法打开 { print $6,$7 }
  • 这个命令在 solaris 上不工作.....你有任何其他命令可以在 solaris 上工作
【解决方案2】:

stat(1) 命令可以显示以秒为单位的时间戳:

stat --printf '%Y\n' foo

因此,类似以下的方法可能会起作用:

(stat --printf '%Y' test2; printf ' - '; stat --printf '%Y\n' test4) | bc -lq

根据需要进行调整。

【讨论】:

  • stat 是 coreutils 的一部分,它通常安装在每个 Linux 系统上,嵌入式系统除外,所以如果你没有它,我会很惊讶。或者您正在使用另一个 Unix 系统?我猜您需要提供更多上下文和信息以获得更多帮助。 (例如:您使用的是什么系统,以及确切的错误是什么。请编辑您的问题以执行此操作。)
  • 嘿,首先,谢谢.... 我正在使用 solaris,我的机器信息是:- Sol 5.10 Generic_127128-11 i86pc i386 i86pc。如果你还需要什么,请让我现在
【解决方案3】:
$ ls -l .bashrc*
-rw-r--r-- 1 max max 360 Dec 14  2010 .bashrc
-rw-r--r-- 1 max max 359 Dec  2  2010 .bashrc~

$ echo $((`stat --format=%Y .bashrc` - `stat --format=%Y .bashrc~`))
1018884

$(()) 语法是 bash 算术表达式扩展。上面发生的情况是减去自 Unix 纪元以来的文件时间戳(以秒为单位)并打印差异。

【讨论】:

  • 在 linux 上你的命令正在工作.....但在 solaris 上它说 stat 命令未找到。你能告诉我 stat 是不是一个 solaris 命令吗?
  • 在 Solaris 上要做的第一件事就是安装 GNU 工具。 sunfreeware.com/indexintel10.html
猜你喜欢
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
  • 2013-08-06
  • 2020-11-25
  • 2021-01-12
  • 2020-05-13
相关资源
最近更新 更多