Sponsored Content
Top Forums Shell Programming and Scripting Validate long date format in If statement Post 302272575 by Batsies on Wednesday 31st of December 2008 02:38:10 AM
Old 12-31-2008
Validate long date format in If statement

Hi,

I want to validate if the given input is a valid month (written in long month format)

Jan / Feb / Mar / Apr / May / Jun etc etc

This is what I've got with || (or statements):

Code:
 
#!/usr/bin/ksh
INPUT_DATE=$1
FORMATTED_DATE=`date | cut -f2 -d' '`
#If there's no input use the sysdate otherwise use the input
if [[ -z "$INPUT_DATE" ]] ; then
   MONTH_TO_PROCESS=$FORMATTED_DATE
else
   MONTH_TO_PROCESS=$1
fi
echo $MONTH_TO_PROCESS
 
if [[ "$MONTH_TO_PROCESS" = "Feb" || "$MONTH_TO_PROCESS" = "Jan" || "$MONTH_TO_PROCESS" = "Mar"]]; then
   echo "$MONTH_TO_PROCESS is Valid"
else
   echo "$MONTH_TO_PROCESS is Invalid"
fi

But when I use this for every month (jan - dec), the list is too long and I get an error.

This is what I want (but this is too long), how can i validate the month or cut all the or statements over multiple lines, I tried // but that doesn't work:

Code:
if [[ "$MONTH_TO_PROCESS" = "Feb" || "$MONTH_TO_PROCESS" = "Jan" || "$MONTH_TO_PROCESS" = "Mar" || "$MONTH_TO_PROCESS" = "Apr" || "$MONTH_TO_PROCESS" = "May" || "$MONTH_TO_PROCESS" = "Jun" || "$MONTH_TO_PROCESS" = "Jul" || "$MONTH_TO_PROCESS" = "Aug" || "$MONTH_TO_PROCESS" = "Sep" || "$MONTH_TO_PROCESS" = "Oct" || "$MONTH_TO_PROCESS" = "Nov" || "$MONTH_TO_PROCESS" = "Dec"]]; then

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Validate date

Hi I am beginner to UNIX. I wanted to help for how to write script to validate date. Please help me. (2 Replies)
Discussion started by: giridher2000
2 Replies

2. Shell Programming and Scripting

Need to validate a date input format

Hi all, I have a shell script(K shell) which takes a date as input. i want the input to be in DD-MM-YYYY format. Can i enforce such a format of input string using just one line of code? OR do i need to parse the input date into different components and test them using Case statements... (2 Replies)
Discussion started by: rajugp1
2 Replies

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

4. Shell Programming and Scripting

Validate date format in argument

Hi.. I'm a newbie in KSH. Need help. How can I validate input date format in argument using format mm/dd/yy. Eg. > findlog.sh 12/30/09. Any info/help is highly appreciated. (3 Replies)
Discussion started by: harry0013
3 Replies

5. UNIX for Dummies Questions & Answers

Changing from Excel date format to MySQL date format

I have a list of dates in the following format: mm/dd/yyyy and want to change these to the MySQL standard format: yyyy-mm-dd. The dates in the original file may or may not be zero padded, so April is sometimes "04" and other times simply "4". This is what I use to change the format: sed -i '' -e... (2 Replies)
Discussion started by: figaro
2 Replies

6. Shell Programming and Scripting

validate case statement

Hello, I need to take the input from user on below format and validate it. ddd:hr:mm where ddd=mon-sun(days) , hr:hour (0-23) , mm=min(0-59). Please assist me for getting input from user. Thanks Qamar (3 Replies)
Discussion started by: qamar.alam
3 Replies

7. Shell Programming and Scripting

Need script to validate file according to date

Hi All, I am very new to unix and just started to work with unix and shell scripting.I have a query anyone help would be much appreciated I am using sun solaris OS I want to validate a file according to its date and if validate successful then it would write the file name,size,date and... (3 Replies)
Discussion started by: sv0081493
3 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

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

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
MARC::Lint::CodeData(3pm)				User Contributed Perl Documentation				 MARC::Lint::CodeData(3pm)

NAME
MARC::Lint::CodeData -- Contains codes from the MARC code lists for Geographic Areas, Languages, and Countries. DESCRIPTION
Code data is used for validating fields 008, 040, 041, and 043. Also, sources for subfield 2 in 600-651 and 655. Stores codes in hashes, %MARC::Lint::CodeData::[name]. Note: According to the official MARC documentation, Sears is not a valid 655 term. The code data below treats it as valid, in anticipation of a change in the official documentation. SYNOPSIS
use MARC::Lint::CodeData; #Should provide access to the following: #%MARC::Lint::CodeData::GeogAreaCodes; #%MARC::Lint::CodeData::ObsoleteGeogAreaCodes; #%MARC::Lint::CodeData::LanguageCodes; #%MARC::Lint::CodeData::ObsoleteLanguageCodes; #%MARC::Lint::CodeData::CountryCodes; #%MARC::Lint::CodeData::ObsoleteCountryCodes; #%MARC::Lint::CodeData::Sources600_651; #%MARC::Lint::CodeData::ObsoleteSources600_651; #%MARC::Lint::CodeData::Sources655; #%MARC::Lint::CodeData::ObsoleteSources655; #or, import specific code list data use MARC::Lint::CodeData qw(%GeogAreaCodes); my $gac = "n-us---"; my $validgac = 1 if ($GeogAreaCodes{$gac}); print "Geographic Area Code $gac is valid " if $validgac; EXPORT
None by default. @EXPORT_OK: %GeogAreaCodes, %ObsoleteGeogAreaCodes, %LanguageCodes, %ObsoleteLanguageCodes, %CountryCodes, %ObsoleteCountryCodes, %Sources600_651, %ObsoleteSources600_651, %Sources655, %ObsoleteSources655. TO DO
Update codes as needed (see <http://www.loc.gov/marc/>). Add other codes for MARC Code Lists for Relators, Sources, Description Conventions. Determine what to do about 600-655 codes with indicators (cash, lcsh, lcshac, mesh, nal, and rvm). Currently, these are duplicated in valid and obsolete hashes. Validation routines should probably treat these differently due to large numbers of records using these codes, created before the indicators were allowed. Determine whether three blank spaces should be in the LanguageCodes (for 008 validation) or not. If it is here, then 041 would be allowed to have three blank spaces as a valid code (though other checks would report the error--spaces at the beginning and ending of a subfield and multiple spaces in a field where such a thing is not allowed). SEE ALSO MARC::Lint MARC::Lintadditions (for check_040, check_041, check_043 using these codes) MARC::Errorchecks (for 008 validation using these codes) <http://www.loc.gov/marc/> for the official code lists. The following (should be included in the distribution package for this package): countrycodelistclean.pl gaccleanupscript.pl languagecodelistclean.pl The scripts above take the MARC code list ASCII version as input. They output tab-separated codes for updating the data below. VERSION HISTORY
Version 1.28: Updated May 2, 2009. -Added new sources codes from Technical Notice of Oct. 10, 2008. -Added new sources codes from Technical Notice of Dec. 16, 2008. -Added new language codes from Technical Notice of Jan. 6, 2009 (mol moved to ObsoleteLanguageCodes). -Added new sources codes from Technical Notice of Jan. 23, 2009. -Added new sources codes from Technical Notice of Feb. 19, 2009. -Added new sources codes from Technical Notice of Apr. 22, 2009. Version 1.27: Updated Aug. 14, 2008. -Added new sources codes from Technical Notice of July 25, 2008. Version 1.26: Updated July 6, 2008. -Added new language codes from Technical Notice of July 1, 2008. -Moved obsolete language codes 'scc' and 'scr' to the obsolete language hash. Version 1.25: Updated Apr. 28, 2008. -Added new sources codes from Technical Notice of Apr. 25, 2008. Version 1.24: Updated Mar. 30, 2008. -Added new sources codes from Technical Notice of Mar. 28, 2008. Version 1.23: Updated Mar. 26, 2008. -Added new country and GAC codes from Technical Notice of Mar. 25, 2008. Version 1.22: Updated Jan. 21, 2008. -Added new sources codes from Technical Notice of Jan. 18, 2008. Version 1.21: Updated Nov. 30, 2007. -Added new sources codes from Technical Notice of Nov. 30, 2007. Version 1.20: Updated Nov. 19, 2007. -Added new language codes from Technical Notice of Nov. 16, 2007. Version 1.19: Updated Oct. 22, 2007. -Added new language codes from Technical Notice of Oct. 22, 2007. Version 1.18: Updated Aug. 14, 2007. -Added new source codes from Technical Notice of Aug. 13, 2007. Version 1.17: Updated July 16, 2007. -Added new source codes from Technical Notice of July 13, 2007. Version 1.16: Updated Apr. 18, 2007. -Added new source codes from Technical Notice of Apr. 5, 2007. Version 1.15: Updated Feb. 28, 2007. -Added new country and geographic codes from Technical Notice of Feb. 28, 2007. -Added 'yu ' to list of obsolete codes. Version 1.14: Updated Jan. 8, 2007. -Added new source codes from Technical Notice of Jan. 5, 2007. Version 1.13: Updated Nov. 19, 2006. -Added new source codes from Technical Notice of Nov. 14, 2006. Version 1.12: Updated Oct. 20, 2006. -Added new source code from Technical Notice of Oct. 19, 2006. Version 1.11: Updated Oct. 18, 2006. -Added new source codes from Technical Notice of Oct. 17, 2006. Version 1.10: Updated Aug. 30, 2006. -Added new source codes from Technical Notice of Aug. 29, 2006. Version 1.09: Updated June 26, 2006. -Added new source codes from Technical Notice of June 23, 2006. Version 1.08: Updated May 30, 2006. -Added new source codes from Technical Notice of May 26, 2006. Version 1.07: Updated Mar. 13, 2006. -Added new source codes from Technical Notice of Mar. 10, 2006. Version 1.06: Updated Feb. 23, 2006. -Added new language codes from Technical Notice of Feb 23, 2006. -Alphabetized language codes. Version 1.05: Updated Jan. 11, 2006. -Added new sources codes from Technical Notice of Jan. 10, 2006. Version 1.04: Updated Oct. 13, 2005. -Added new sources codes from Technical Notice of Oct. 12, 2005. Version 1.03: Updated Aug. 31, 2005. -Added new language codes for Ainu and Southern Altai (August 30, 2005 technical notice) Version 1.02: Updated June 21-July 12, 2005. Released (to CPAN) with new version of MARC::Errorchecks. -Added GAC and Country code changes for Australia (July 12, 2005 update) -Added 6xx subfield 2 source code data for June 17, 2005 update. -Updated valid Language codes to June 2, 2005 changes. Version 1.01: Updated Jan. 5-Feb. 10, 2005. Released (to CPAN) Feb. 13, 2005 (with new version of MARC::Errorchecks). -Added code list data for 600-651 subfield 2 and for 655 subfield 2 sources. -Updated codes based on changes made Jan. 19 (languages), Feb. 2 (sources), Feb. 9 (sources). Version 1.00 (original version): First release, Dec. 5, 2004. Uploaded to SourceForge CVS, Jan. 3, 2005. -Included in MARC::Errorchecks distribution on CPAN. -Used by MARC::Lintadditions. LICENSE
This code may be distributed under the same terms as Perl itself. Please note that this module is not a product of or supported by the employers of the various contributors to the code. AUTHOR
Bryan Baldus eijabb@cpan.org Copyright (c) 2004-2008. perl v5.10.0 2009-09-01 MARC::Lint::CodeData(3pm)
All times are GMT -4. The time now is 09:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy