Validate date and time in filename by awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Validate date and time in filename by awk
# 8  
Old 01-15-2016
Quote:
Originally Posted by chakrapani
So the assumption is $2 will be 20151222 or like YYYMMDD year month and day is this right ?
yes you right
Quote:
single line awk get value with field separator '.'
$2 is date yyyymmdd format
$3 is date yyyymmdd format
$4 is time hhmmss format
# 9  
Old 01-15-2016
I want to use system date. Can you check if date +"%Y%m%d" works

My idea is to use
Code:
awk -v date="$(date +"%Y%m%d" )

So I get a variable made which can be compared
# 10  
Old 01-15-2016
Quote:
Originally Posted by chakrapani
I want to use system date. Can you check if date +"%Y%m%d" works

My idea is to use
Code:
awk -v date="$(date +"%Y%m%d" )

So I get a variable made which can be compared
Code:
date +"%Y%m%d" AND awk -v date="$(date +"%Y%m%d" )

NOT WORKING ALREADY TRY ON AIX 6
THANKS MAN

---------- Post updated at 12:07 PM ---------- Previous update was at 12:03 PM ----------

my sample data
Code:
filename : mohan.moh.ccyymmdd.ccyymmdd.hhmmss.txt
 mohan_moh.20151222.20151222.122442.txt

please suggest me something like so validate name string date and time in single awk command in AIX 6
my sample code
Code:
awk -F '.' '{
IF($1== mohan_moh)
 then print ok 
elif ($2= --some regular expression to validate date) here $2 is 20151222
then print ok 
elif ($3= --some regular expression to validate date) here $3 is 20151222
then print ok
elif ($4= --some regular expression to validate time) here $4 is 122442
then print ok
else
 print nok
fi}

# 11  
Old 01-15-2016
Any of these work ?

The UNIX School: gawk - Date and time calculation functions

Can we use Perl instead ?

I have handled similar situations where nothing works no GNU date or gnu awk Smilie
# 12  
Old 01-15-2016
Quote:
Originally Posted by chakrapani
Any of these work ?

The UNIX School: gawk - Date and time calculation functions

Can we use Perl instead ?

I have handled similar situations where nothing works no GNU date or gnu awk Smilie
Yes you can use anything just i need a solution that work
# 13  
Old 01-15-2016
Can you check perl version. I am assuming no perl modules are installed

---------- Post updated at 12:41 PM ---------- Previous update was at 12:27 PM ----------

Check this perl code. Works on my servers FreeBSD and RHEL

echo " mohan_moh.20160115.20160115.122442.txt" | perl dtchk.pl


FILENAME: dtchk.pl
Code:
use strict;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
my $yyyymmdd = sprintf "%.4d%.2d%.2d", $year+1900, $mon+1, $mday;

### CHECK THIS LINE
my $last="122442"; # Just make this to whatever required like Date time etc etc


# TEST with below file name to match my system date
#mohan_moh.20160115.20160115.122442.txt"

while (<STDIN>) {
        chomp;
        if ( $_ =~ m/mohan_moh\.\Q$yyyymmdd\E\.\Q$yyyymmdd\E\.\Q$last\E\.txt/ )
        { print "\n$_ FILEName is [ OK ]\n"; }
        else
        { print "\n $_ FILEName is [  BAD ]\n"; }
}

Can be improved a lot.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. Shell Programming and Scripting

Validate date file format using awk

Here is my sample data Test.txt column 1|columne 2|start Date|end Date test|test|03/24/2014|03/24/2014 test|test|03/24-2014|03/24/2014 test|test|03/24/2014|03/24/2014 test|test|03/24/2014|03/24-2014 test|test|03/24/2014|03/24/2014 Now in the file i am expecting the date fields should be... (4 Replies)
Discussion started by: krish2014
4 Replies

4. UNIX for Dummies Questions & Answers

Converting string date time to unix time in AWK

I'd like to convert a date string in the form of sun aug 19 09:03:10 EDT 2012, to unixtime timestamp using awk. I tried This is how each line of the file looks like, different date and time in this format Sun Aug 19 08:33:45 EDT 2012, user1(108.6.217.236) all: test on the 17th ... (2 Replies)
Discussion started by: bkkid
2 Replies

5. 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

6. 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

7. 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

8. UNIX for Advanced & Expert Users

find formatted filename with date time

Hi, I operate and use HF radars along the California coast for ocean surface currents. The devices use Mac OS as the control and logging software. The software generates thousands of files a week and while I've used PERL in the past to solve the problems of finding files I come to realize some... (6 Replies)
Discussion started by: dpath2o
6 Replies

9. 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

10. 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
Login or Register to Ask a Question