Solaris + display file time stamp [year][month][day]

23,571

Solution 1

In Solaris (>= 10) the ls command has the -E option. So your command could be as simple as ls -E /etc/hosts or ls -E /etc/hosts | awk '{print $6}'| sed 's#-##g'

to get the desired result.

Solution 2

A portable way to do it could be:

perl -MPOSIX -le 'print strftime "%Y%m%d", localtime((lstat)[9]) for @ARGV' /etc/hosts
Share:
23,571
yael
Author by

yael

Updated on September 18, 2022

Comments

  • yael
    yael almost 2 years

    I have Solaris 10 machine

    I need to verify time stamp of some file in my Solaris machine

    And to get the following format

     [year][month][day]
    

    Example of working command on Linux

      ls -l --time-style=+%Y%m%d /etc/hosts | awk '{print $6}'
      20121107   <----- ( expected results )           
    
    • remark I can't to install gnu ls on My solaris machine!

    On my solaris machine I try the following commands but all them not works ( because Solaris flags are different from Linux ) , and stat command not defined in my 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
    

    Please advice if there are some other ways to get stamp date of file ( not by ls or stat command ) , maybe with date command ? in order to give me the solution,

    As the following:

       <solaris>   command /etc/hosts 
    
                   [year][month][day]
    
  • yael
    yael over 11 years
    great solution thx allot
  • Afsin Toparlak
    Afsin Toparlak about 11 years
    great solution!