The regular solution would be find but it's a bit unwieldy, and it is better at relative age (more than 1 year old, etc) than at finding all files from a particular year. I would whip up a quick Perl script for finding the files; the rest should be trivial enough to leave as an exercise for you.
hi all,
can u please help me in finding all ksh file in directory and including all subdirectories and then copy those files into another directory.
thanks in advance
-bali (4 Replies)
I am wanting to find files within a directory that are over a certain number of days old and copy them to another directory. And unfortunately not having much luck.......is someone able to help.
Would also like to add that there are literally thousands of files that I am wanting to copy in one... (3 Replies)
Ok i have three directories
Destination - /u/dir1 (has subdirectories dir2 which also has subdirectory dir3)
Source1 - /u/test/files/dir1/dir2/dir3
Source2 - /u/out/images/dir1/dir2/dir3
What i would like to do is copy everything from Source1 and Source2 into the Destination directory.... (3 Replies)
Hi
I have lot of files and subdirectories inside a directory which are created in the years 2006, 2007, 2008, 2009 and 2010.
I want to delete all the files and subdirectories belonging to the year 2006 alone.
How can I do that ? (5 Replies)
Hi all, I'm looking for a script to poll a specified directory and copy new files to another location.
The script should only copy new files so, I based on mtime I guess?
Can anyone point me in the right direction of a script which could do this?
My scripting skills aren't too bad, but... (1 Reply)
Hi,
I am using solari 10 OS which is having bash shell.
I need a shell script which takes user home directory and name of the file or directory as a input and based on that copy the files accordingly to the other directory.
example:I hava a machine1 which is having some files in a... (8 Replies)
I need to be able to find all *.doc files by year last modified and then perform an action such as copy to folder: /documents/2011
the 'find' command seems to show the path but not the full file details, which includes the date modified as the ls command does.
I got this far with ls, but have... (2 Replies)
RedHat Enterprise Linux 5.4
I have some files with the extension .cdp in several directories in various mountpoints(filesystems) . I would like to find and copy all these files into a single directory /u03/diagnore/data.
How can I do this ? (3 Replies)
Hi all
This is my first post. Please bear with me with all my mistakes. I started learning shell since couple of days now and this might be quite basic for all, i want to search for files in a directory containing specific string and replace it with new string. The code i wrote is quite bulky... (2 Replies)
Hi,
i need help on shell scripting.
Main intention of the script is
step 1: ssh to remote server
Step 2: cd /tmp in remote server
Step 3: in tmp i want to grep only files and directories which are in GB sizes
All the servers list file is - tmpsrv.txt
vi tmpsrv.txt
... (17 Replies)
Discussion started by: kumar85shiv
17 Replies
LEARN ABOUT REDHAT
time::local
Time::Local(3pm) Perl Programmers Reference Guide Time::Local(3pm)NAME
Time::Local - efficiently compute time from local and GMT time
SYNOPSIS
$time = timelocal($sec,$min,$hour,$mday,$mon,$year);
$time = timegm($sec,$min,$hour,$mday,$mon,$year);
DESCRIPTION
These routines are the inverse of built-in perl functions localtime() and gmtime(). They accept a date as a six-element array, and return
the corresponding time(2) value in seconds since the Epoch (Midnight, January 1, 1970). This value can be positive or negative.
It is worth drawing particular attention to the expected ranges for the values provided. The value for the day of the month is the actual
day (ie 1..31), while the month is the number of months since January (0..11). This is consistent with the values returned from local-
time() and gmtime().
The timelocal() and timegm() functions perform range checking on the input $sec, $min, $hour, $mday, and $mon values by default. If you'd
rather they didn't, you can explicitly import the timelocal_nocheck() and timegm_nocheck() functions.
use Time::Local 'timelocal_nocheck';
{
# The 365th day of 1999
print scalar localtime timelocal_nocheck 0,0,0,365,0,99;
# The twenty thousandth day since 1970
print scalar localtime timelocal_nocheck 0,0,0,20000,0,70;
# And even the 10,000,000th second since 1999!
print scalar localtime timelocal_nocheck 10000000,0,0,1,0,99;
}
Your mileage may vary when trying these with minutes and hours, and it doesn't work at all for months.
Strictly speaking, the year should also be specified in a form consistent with localtime(), i.e. the offset from 1900. In order to make
the interpretation of the year easier for humans, however, who are more accustomed to seeing years as two-digit or four-digit values, the
following conventions are followed:
o Years greater than 999 are interpreted as being the actual year, rather than the offset from 1900. Thus, 1963 would indicate the year
Martin Luther King won the Nobel prize, not the year 2863.
o Years in the range 100..999 are interpreted as offset from 1900, so that 112 indicates 2012. This rule also applies to years less than
zero (but see note below regarding date range).
o Years in the range 0..99 are interpreted as shorthand for years in the rolling "current century," defined as 50 years on either side of
the current year. Thus, today, in 1999, 0 would refer to 2000, and 45 to 2045, but 55 would refer to 1955. Twenty years from now, 55
would instead refer to 2055. This is messy, but matches the way people currently think about two digit dates. Whenever possible, use
an absolute four digit year instead.
The scheme above allows interpretation of a wide range of dates, particularly if 4-digit years are used.
Please note, however, that the range of dates that can be actually be handled depends on the size of an integer (time_t) on a given plat-
form. Currently, this is 32 bits for most systems, yielding an approximate range from Dec 1901 to Jan 2038.
Both timelocal() and timegm() croak if given dates outside the supported range.
IMPLEMENTATION
These routines are quite efficient and yet are always guaranteed to agree with localtime() and gmtime(). We manage this by caching the
start times of any months we've seen before. If we know the start time of the month, we can always calculate any time within the month.
The start times are calculated using a mathematical formula. Unlike other algorithms that do multiple calls to gmtime().
timelocal() is implemented using the same cache. We just assume that we're translating a GMT time, and then fudge it when we're done for
the timezone and daylight savings arguments. Note that the timezone is evaluated for each date because countries occasionally change their
official timezones. Assuming that localtime() corrects for these changes, this routine will also be correct.
BUGS
The whole scheme for interpreting two-digit years can be considered a bug.
The proclivity to croak() is probably a bug.
perl v5.8.0 2002-06-01 Time::Local(3pm)