The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > OS Specific Forums > AIX
Google UNIX.COM


AIX AIX is IBM's industry-leading UNIX operating system that meets the demands of applications that businesses rely upon in today's marketplace.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Script to convert GMT to Asia/Hong Kong time xejatt Shell Programming and Scripting 5 03-19-2008 12:34 PM
Convert milliseconds to standard time chiru_h Shell Programming and Scripting 1 07-19-2007 10:45 AM
how to convert epoch time to readible format? cin2000 Shell Programming and Scripting 11 12-19-2005 03:14 PM
Convert UTC time to Date GNMIKE Shell Programming and Scripting 8 10-19-2005 11:43 PM
Convert from standard epoch time from a shell script? LordJezo Shell Programming and Scripting 4 09-18-2005 08:48 PM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: Feb 2005
Posts: 45
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
time convert

Hi Friends,

I see the last login time as

time_last_login=1210762918

How to convert this to standard format.

I believe there is a command, I am not able to recollect it.

Thanks in advance
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 05-14-2008
Part Time Moderator and Full Time Dad
 

Join Date: Sep 2006
Location: Rossem, Tazenda
Posts: 721
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
if you have perl:
Code:
perl -e 'print scalar localtime(1210762918);'
Reply With Quote
  #3 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: Feb 2005
Posts: 45
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
thanks

Thanks Yogesh,

How to get the cursor to the next line..

aixtech2:/>perl -e 'print scalar localtime(1210762918);'
Wed May 14 07:31:58 2008aixtech2:/>
aixtech2:/>
Reply With Quote
  #4 (permalink)  
Old 05-14-2008
era era is offline
Herder of Useless Cats
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 2,250
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Try adding the -l option -- perl -le 'print ...'
Reply With Quote
  #5 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: Feb 2005
Posts: 45
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Thanks a lot Yogesh.....Actually i am trying to write a shell script to find out the user accounts that were not used for more than for 4 months (based on last login) ..and lock them.

DO you have anything simpler than this ..
Reply With Quote
  #6 (permalink)  
Old 05-14-2008
Registered User
 

Join Date: Feb 2005
Posts: 45
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
sorry ..it is Era...:-}
Reply With Quote
  #7 (permalink)  
Old 05-20-2008
Registered User
 

Join Date: Feb 2005
Posts: 45
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
If i write script like below:

lastlog1=`lsuser -a time_last_login root|awk -F= '{print $2}'`
echo $lastlog1
perl -le 'print scalar localtime($lastlog1);'


Output is :

1211381313
Wed Dec 31 20:30:00 1969



It is not taking the correct date/time..

If i give perl -le 'print scalar localtime(1211381313);' , then the output is correct...Wed May 21 11:18:33 2008.

Please help me ...how can i pass the value as a variable and get the correct output ...i need to process all user accounts..
Reply With Quote
  #8 (permalink)  
Old 05-20-2008
Registered User
 

Join Date: Oct 2006
Location: Belgium
Posts: 170
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Quote:
Originally Posted by b_manu78 View Post
If i give perl -le 'print scalar localtime(1211381313);' , then the output is correct...Wed May 21 11:18:33 2008.
Are you sure that it's the correct date? When I convert it my way, it give me:

GNU Awk 3.1.5
$ TZ=UTC awk 'BEGIN {print strftime("%Y-%m-%d %T", 1211381313)}'
> 2008-05-21 14:48:33

date (GNU coreutils) 5.97
$ date --utc --date "1970-01-01 1211381313 sec" "+%Y-%m-%d %T"
> 2008-05-21 14:48:33
Reply With Quote
  #9 (permalink)  
Old 05-20-2008
era era is offline
Herder of Useless Cats
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 2,250
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
You are not passing $lastlog1 to Perl correctly, so it's effectively doing localtime(0). (The date it prints is Jan 1 1970 UTC 00:00:00 converted to your local time zone.)

Code:
perl -le 'print scalar localtime(shift)' $lastlog1
If you are using awk anyway, the awk solution ripat posted would seem ideal.

Code:
lsuser -a time_last_login root|awk -F= '{print strftime("%Y-%m-%d %T",$2)}'
Reply With Quote
  #10 (permalink)  
Old 05-21-2008
Bughunter Extraordinaire
 

Join Date: May 2005
Location: In the leftmost byte of /dev/kmem
Posts: 932
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit! Stumble this Post!Spurl this Post!
Just for the record: the problem is here:

Quote:
Originally Posted by b_manu78 View Post
perl -le 'print scalar localtime($lastlog1);'
You try to expand variable ($lastlog1) inside single quotes. To prevent special characters like "$" from being interpreted by the shell is exactly what single quotes have been invented for.

The line will probably work writing it that way:

Code:
perl -le 'print scalar localtime('"$lastlog1"');'
I hope this helps.

bakunin
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes


The 50 most popular UNIX and Linux searches.
Google Search Cloud for The UNIX and Linux Forums
421 service not available, remote server has closed connection ^m automate ftp autosys awk trim bash eval bash for loop boot: cannot open kernel/sparcv9/unix command copy/move folder in unix curses.h cut command in unix daemon process export command in unix find grep find mtime find null character in a unix file glance unix grep multiple lines grep or grep recursive inaddr_any inappropriate ioctl for device lynx javascript mailx attachment mget mtime perl array length ping port remove first character from string in k shell replace space by comma , perl script scp recursive segmentation fault(coredump) sftp script snoop unix stale nfs file handle syn_sent tar exclude tar extract to folder test: argument expected unix unix .profile unix forum unix forums unix internals unix interview questions unix mtime unix simulator unix.com vi substitute while loop within while loop shell script


All times are GMT -7. The time now is 01:12 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101