Sponsored Content
Top Forums Shell Programming and Scripting finding date numeral from file and check the validity of date format Post 302574333 by Klashxx on Thursday 17th of November 2011 05:53:50 AM
Old 11-17-2011
If perl is ok, this is the equivalent for the dates:
Code:
 perl -n -e '/(\d+-*\d*-*\d*)/;print $1."\n";' file

And for the validation, you can star with:
Code:
#!/usr/bin/env ksh

validaF ()
{
fecha="${1}"

echo "${fecha}"|perl -n -e '
   if ( m!^((?:19|20)\d\d)(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$!) {
      # $1 -> anyo  $2 -> mes , $3 -> dia
      if ($3 == 31 and ($2 == 4 or $2 == 6 or $2 == 9 or $2 == 11)) {
         print "0" ; # Meses con 30 dias
         }
      elsif ($3 >= 30 and $2 == 2) {
         print "0" ; # Febrero nunca 30 o 31
         } 
      elsif ($2 == 2 and $3 == 29 and not ($1 % 4 == 0 and ($1 % 100 != 0 or $1 % 400 == 0))) {
         print "0" ; # 29 de Febrero cuando no es bisiesto
         } 
      else {
         print "Correct date !: $_ \n"; # Fecha valida
         }
      } 
    else {
       print "KO: $_" ; # Sin formato de fecha
    }'
}

validaF 20110811
validaF 20110841

Of course you need to adapt the regex to match the rest of the date formats.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Check the format of Date

Hi, I have a date field in my input file. I just want to check if its in the format "DD-MM-YYYY". Is there any command which can achieve this? Thanks and Regards, Abhishek (2 Replies)
Discussion started by: AAA
2 Replies

2. Shell Programming and Scripting

convert date format to mysql date format in log file

I have a comma delimited log file which has the date as MM/DD/YY in the 2nd column, and HH:MM:SS in the 3rd column. I need to change the date format to YYYY-MM-DD and merge it with the the time HH:MM:SS. How will I got about this? Sample input 02/27/09,23:52:31 02/27/09,23:52:52... (3 Replies)
Discussion started by: hazno
3 Replies

3. Shell Programming and Scripting

Check input date format?

how to check input date format. for example $input_date must be in format dd.mm.gg script is execute like this: bin/script1.sh 14.12.2009 script1.sh code: #!/bin/sh input_date=$1 CMD="/app/si/test/test.sh $input_date" echo "*****" $CMD (2 Replies)
Discussion started by: waso
2 Replies

4. Shell Programming and Scripting

finding the previous day date and creating a file with date

Hi guys, I had a scenario... 1. I had to get the previous days date in yyyymmdd format 2. i had to create a file with Date inthe format yyyymmdd.txt format both are different thanks guys in advance.. (4 Replies)
Discussion started by: apple2685
4 Replies

5. Shell Programming and Scripting

Finding files before a certain date with predefined format

Guys, I have an input file such as below I would like to know how i would be able to find items created before 2011-10-01 Appreciate any expert advice. Thanks. (3 Replies)
Discussion started by: aismann
3 Replies

6. Shell Programming and Scripting

Converting a date to friday date and finding Min/Max date

Dear all, I have 2 questions. I have a file with many rows which has date of the format YYYYMMDD. 1. I need to change the date to that weeks friday date(Ex: 20120716(monday) to 20120720). Satuday/Sunday has to be changed to next week friday date too. 2. After converting the date to... (10 Replies)
Discussion started by: 2001.arun
10 Replies

7. Shell Programming and Scripting

How to check if date format is correct?

Hi! how do i know if the input is the same as the required date format? the date should be dd/mm/YYYY ex. 2/3/2012 or 15/11/2012 all the following conditions must return an error: *input of string *day is > 31 or < 1 *month is > 12 or < 1 *year is < 2013 suppose the date format is stored... (1 Reply)
Discussion started by: angilulu
1 Replies

8. UNIX for Dummies Questions & Answers

Rename all Files in a UNIX Directory from one date format to another date format

Hi Unix Gurus, I would like to rename several files in a Unix Directory . The filenames can have more than 1 underscore ( _ ) and the last underscore is always followed by a date in the format mmddyyyy. The Extension of the files can be .txt or .pdf or .xls etc and is case insensitive ie... (1 Reply)
Discussion started by: pchegoor
1 Replies

9. Shell Programming and Scripting

Date validity check

hi All, i have file in which it has 2000 records like, test.txt ==== 2011-03-01 2011-03-01 2011-03-01 2011-03-01 2011-03-01 2011-03-02 2011/03/02 previously i used for loop to find the date check like below, for i in `cat test.txt` do d=`echo $i | cut -c9-10| sed 's/^0*//'`;... (11 Replies)
Discussion started by: mechvijays
11 Replies

10. Shell Programming and Scripting

Date: invalid date trying to set Linux date in specific format

i try to set linux date & time in specific format but it keep giving me error Example : date "+%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01" or date +"%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01" keep giving me this error : date: invalid date ‘19-01-2017 00:05:01' Please use CODE tags... (7 Replies)
Discussion started by: umen
7 Replies
PERLIVP(1)						 Perl Programmers Reference Guide						PERLIVP(1)

NAME
perlivp - Perl Installation Verification Procedure SYNOPSIS
perlivp [-p] [-v] [-h] DESCRIPTION
The perlivp program is set up at Perl source code build time to test the Perl version it was built under. It can be used after running: make install (or your platform's equivalent procedure) to verify that perl and its libraries have been installed correctly. A correct installation is verified by output that looks like: ok 1 ok 2 etc. OPTIONS
-h help Prints out a brief help message. -p print preface Gives a description of each test prior to performing it. -v verbose Gives more detailed information about each test, after it has been performed. Note that any failed tests ought to print out some extra information whether or not -v is thrown. DIAGNOSTICS
o print "# Perl binary '$perlpath' does not appear executable. "; Likely to occur for a perl binary that was not properly installed. Correct by conducting a proper installation. o print "# Perl version '$]' installed, expected $ivp_VERSION. "; Likely to occur for a perl that was not properly installed. Correct by conducting a proper installation. o print "# Perl @INC directory '$_' does not appear to exist. "; Likely to occur for a perl library tree that was not properly installed. Correct by conducting a proper installation. o print "# Needed module '$_' does not appear to be properly installed. "; One of the two modules that is used by perlivp was not present in the installation. This is a serious error since it adversely affects perlivp's ability to function. You may be able to correct this by performing a proper perl installation. o print "# Required module '$_' does not appear to be properly installed. "; An attempt to "eval "require $module"" failed, even though the list of extensions indicated that it should succeed. Correct by conducting a proper installation. o print "# Unnecessary module 'bLuRfle' appears to be installed. "; This test not coming out ok could indicate that you have in fact installed a bLuRfle.pm module or that the "eval " require "$module_name.pm"; "" test may give misleading results with your installation of perl. If yours is the latter case then please let the author know. o print "# file",+($#missing == 0) ? '' : 's'," missing from installation: "; One or more files turned up missing according to a run of "ExtUtils::Installed -> validate()" over your installation. Correct by conducting a proper installation. For further information on how to conduct a proper installation consult the INSTALL file that comes with the perl source and the README file for your platform. AUTHOR
Peter Prymmer perl v5.18.2 2018-08-17 PERLIVP(1)
All times are GMT -4. The time now is 10:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy