Solaris + data e hora do arquivo de exibição [ano] [mês] [dia]

5

Eu tenho uma máquina Solaris 10

Eu preciso verificar a data e hora de algum arquivo na minha máquina Solaris

E para obter o seguinte formato

 [year][month][day]

Exemplo de comando de trabalho no Linux

  ls -l --time-style=+%Y%m%d /etc/hosts | awk '{print $6}'
  20121107   <----- ( expected results )           
  • note que não consigo instalar o gnu ls na minha máquina solaris!

Na minha máquina solaris, eu tento os seguintes comandos, mas todos eles não funcionam (porque os sinalizadores do Solaris são diferentes do Linux) e o comando stat não está definido no meu Solaris

# 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

Por favor, conselhos, se existem algumas outras maneiras de obter data de carimbo do arquivo (não pelo comando ls ou stat), talvez com o comando date? para me dar a solução,

Como o seguinte:

   <solaris>   command /etc/hosts 

               [year][month][day]
    
por yael 05.12.2012 / 10:56

2 respostas

6

No Solaris (> = 10), o comando ls tem a opção -E. Então, seu comando pode ser tão simples quanto      ls -E /etc/hosts ou ls -E /etc/hosts | awk '{print $6}'| sed 's#-##g'

para obter o resultado desejado.

    
por 05.12.2012 / 11:28
2

Uma maneira portátil de fazer isso pode ser:

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