Solaris

Solaris + 顯示文件時間戳是er_是和一種ryear月____米這n噸Hmonthd是的d一種是day

  • August 21, 2018

我有 Solaris 10 機器

我需要驗證我的 Solaris 機器中某些文件的時間戳

並得到以下格式

[year][month][day]

Linux 上的工作命令範例

 ls -l --time-style=+%Y%m%d /etc/hosts | awk '{print $6}'
 20121107   <----- ( expected results )           
  • 備註我無法在我的 solaris 機器上安裝 gnu ls!

在我的 Solaris 機器上,我嘗試了以下命令,但它們都不起作用(因為 Solaris 標誌與 Linux 不同),並且我的 Solaris 中未定義 stat 命令

# ls -l -T -D %Y%m%d /etc/hosts
ls: illegal option -- T
ls: illegal option -- D
usage: ls -1RaAdCxmnlhogrtuvVcpFbqisfHLeE@ [files]
# stat /etc/hosts | awk '/Access/{print $2}' | tail -n1 | tr -d'' '-'
ksh: stat:  not found

請告知是否有其他方法可以獲取文件的時間戳(不是通過 ls 或 stat 命令),也許使用 date 命令?為了給我解決方案,

如下:

  <solaris>   command /etc/hosts 

              [year][month][day]

在 Solaris (>= 10) 中,ls 命令具有 -E 選項。ls -E /etc/hosts 所以你的 命令可能很簡單 ls -E /etc/hosts | awk '{print $6}'| sed 's#-##g'

得到想要的結果。

一種可移植的方法可能是:

perl -MPOSIX -le 'print strftime "%Y%m%d", localtime((lstat)[9]) for @ARGV' /etc/hosts

引用自:https://unix.stackexchange.com/questions/57626