Sponsored Content
Top Forums UNIX for Advanced & Expert Users find formatted filename with date time Post 302164760 by dpath2o on Tuesday 5th of February 2008 10:20:33 PM
Old 02-05-2008
OK so here's the regex that I came up with that meets my needs and I use it in a perl script to find files and then parse out file name with the parts I need.
Code:
if ($_ =~ m/^($type)[-_\s](\w{4})[-_\s](\d{4}|\d{2})[-_\s](\d{2})[_\s](\d{2})[-_\s]?(\d{2})?(\d{2})?(\d{2})?[.]?(\w{3}|\w{4})?/i) { #SITE_TYPE_YYYY_MO[_HRMN|_HRMNSC]?.[xx|xxx]
        $Ftype   = $1;
        $Fsite   = $2;
	$yyyy    = $3;
        $mm      = $4;
        $dd      = $5;
        $HH      = $6;
        $MM      = $7;
        $SS      = $8;
        $Fsuffix = $9;
        $yyyy += 1900 if $yyyy >= 90 && $yyyy <= 100; #only good to 2090 
        $yyyy += 2000 if $yyyy < 90 && $yyyy;
        $tmpFile = $_;
        $tmpFILE = $File::Find::name;
        $tmpDir  = $File::Find::dir; 
        if ($yyyy < 1980 || ($DirsDont =~ m/$tmpDir/) ) { #don't attempt to perform work on these files
            print "!!! $_ is not understood ... skipping\n";
            return; 
        }
        $tmpT = Mktime($yyyy,$mm,$dd,$HH,$MM,$SS);
}

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Renaming files to have date/time in filename

I have a program that will export my data to a single file, but it assigns a file name that is overridden every time I run the program. I need to change the file name to have a sequential number in the filename. How do I rename a file so that the filename contains the system date and time. I want... (5 Replies)
Discussion started by: wayneb
5 Replies

2. UNIX for Dummies Questions & Answers

Insert date/time within a filename

Hi Guys, I need to script the renaming of files as followins: files: firstjd secondjo thirdjv My script needs to insert the date/time infront of the last 2 characters of the filenames above, any ideas greatly received :) the letters before the last 2 characters could change, I'm only... (7 Replies)
Discussion started by: cooperman
7 Replies

3. UNIX for Dummies Questions & Answers

Adding Date & time stamps to filename

I need to edit the file name with date and time while writing the script. please help. (1 Reply)
Discussion started by: manish.s
1 Replies

4. Shell Programming and Scripting

unixtime to formatted date time

Hi, I need to take the unix time and format it to a date/time string like this yyyymmdd,hhmmss I'm wrting in shell but have tried calling perl, but all the perl options I found on here puts output to Thu Jan 1 00:00:00 1970 format. Any help? Cheers Neil (4 Replies)
Discussion started by: nhatch
4 Replies

5. UNIX for Dummies Questions & Answers

Shell Scripts - Append a filename with date and time....

Hello, I need to create a shell script that appends a filename to create a name with the date and time appended that is guaranteed to not exist. That is, the script insures you will not overwrite a file with the same name. I am lost with this one. I know I need to use date but after that I am... (3 Replies)
Discussion started by: citizencro
3 Replies

6. Shell Programming and Scripting

append a filename with system date and time

Hi, There are similar kind of posts, but none seems like working for me. Please correct me if I'm wrong. I need append/rename file abc.txt with file processed date and time like abc_systemdatetimestamp.txt and move it to different folder. for example I have /source/data/abc.txt ... (1 Reply)
Discussion started by: amsn08
1 Replies

7. Shell Programming and Scripting

Find files greater than a particular date in filename.

I need a unix command which will find all the files greater that a particular date in the file name. say for example I have files like(filenaming cov : filename.YYDDMMSSSS.txt) abc.201206015423.txt abc.201207013456.txt abc.201202011234.txt abc.201201024321.txt efg.201202011234.txt... (11 Replies)
Discussion started by: lijjumathew
11 Replies

8. Shell Programming and Scripting

Validate date and time in filename by awk

hi i want to validate the date and time in filename filename : mohan.moh.ccyymmdd.ccyymmdd.hhmmss.txt mohan_moh.20151222.20151222.122442.txt i want code that check that date given in filename 20151222 in this format ccyymmdd else it mark file is not valid used in my OS detail is AIX 6... (12 Replies)
Discussion started by: MOHANP12
12 Replies

9. UNIX for Beginners Questions & Answers

How to extract date and time from filename?

Hi, I'm totally new in sell script and working with a shell code. I want to extract the date and time from the filenames. The filenames are different but all of them begins with WI_ SCOPE_: WI_SCOPE_DATA_CHANGE_2017-09-12_15-30-40.txt WI_SCOPE_BACK_COMPLETE_QUEUE_2017-09-12_15-31-40.txt... (5 Replies)
Discussion started by: Home
5 Replies

10. UNIX for Beginners Questions & Answers

Extract date and time part from filename

Hi, I am facing one scenario in which I need to extract exact position of date and time from the name of the files. For example, Below is the record in which I need to extract position of YYYYMMDD,HHMISS and YYMMDD. Date and time variables can come more than once. I need to use these position... (13 Replies)
Discussion started by: Prathmesh
13 Replies
SPLIT(3)								 1								  SPLIT(3)

split - Split string into array by regular expression

SYNOPSIS
array split (string $pattern, string $string, [int $limit = -1]) DESCRIPTION
Splits a $string into array by regular expression. Warning This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged. PARAMETERS
o $pattern - Case sensitive regular expression. If you want to split on any of the characters which are considered special by regular expressions, you'll need to escape them first. If you think split(3) (or any other regex function, for that matter) is doing some- thing weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it. o $string - The input string. o $limit - If $limit is set, the returned array will contain a maximum of $limit elements with the last element containing the whole rest of $string. RETURN VALUES
Returns an array of strings, each of which is a substring of $string formed by splitting it on boundaries formed by the case-sensitive regular expression $pattern. If there are n occurrences of $pattern, the returned array will contain n+1 items. For example, if there is no occurrence of $pattern, an array with only one element will be returned. Of course, this is also true if $string is empty. If an error occurs, split(3) returns FALSE. EXAMPLES
Example #1 split(3) example To split off the first four fields from a line from /etc/passwd: <?php list($user, $pass, $uid, $gid, $extra) = split(":", $passwd_line, 5); ?> Example #2 split(3) example To parse a date which may be delimited with slashes, dots, or hyphens: <?php // Delimiters may be slash, dot, or hyphen $date = "04/30/1973"; list($month, $day, $year) = split('[/.-]', $date); echo "Month: $month; Day: $day; Year: $year<br /> "; ?> NOTES
Note As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an E_DEPRECATED notice. See the list of differences for help on converting to PCRE. Tip split(3) is deprecated as of PHP 5.3.0. preg_split(3) is the suggested alternative to this function. If you don't require the power of regular expressions, it is faster to use explode(3), which doesn't incur the overhead of the regular expression engine. Tip For users looking for a way to emulate Perl's @chars = split('', $str) behaviour, please see the examples for preg_split(3) or str_split(3). SEE ALSO
preg_split(3), spliti(3), str_split(3), explode(3), implode(3), chunk_split(3), wordwrap(3). PHP Documentation Group SPLIT(3)
All times are GMT -4. The time now is 03:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy