Sponsored Content
Full Discussion: Unix grep/test command
Top Forums UNIX for Dummies Questions & Answers Unix grep/test command Post 302139682 by netmaster on Monday 8th of October 2007 05:11:47 PM
Old 10-08-2007
Unix grep/test command

Hello, i have a script which checks if the user entered 8 numeric characters in the form of YYYYMMDD (birth date). If the user entered any non numeric characters, an error will be displayed:

Code:

# Check to see if the 8 characters are all numbers
# If not show error essage
# And prompt user for more input

         echo $char | grep -q '^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$'  
if 	[ $? -ne 0 ]
then
         echo "You have entered non-numeric values.  Please type in the form of YYYYMMDD"
	read char
        continue


Is there a simpler way to write this command without using the [0-9] value for each field? Any help would be appreciated
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

unix grep command

I need to seach all strings that matches "if ; then" in all files If i put grep "if ; then" *.* it is not giving any result (1 Reply)
Discussion started by: pmsuper
1 Replies

2. Shell Programming and Scripting

Using grep in a test/if statement

Okay, well this is more or less my first attempt at writing a shell script. Anyways, here's my code: cd ${PATH} if then rm ${FILE} ./anotherScript else exit 1 fi exit 1 Anyways, it's a pretty simple script that is supposed to search for the... (4 Replies)
Discussion started by: cbo0485
4 Replies

3. Shell Programming and Scripting

Using grep inside a test

Hi, I want to use grep inside a test statement, but I am getting an error message. Two variables testvarNum=5 testvarNonNum=x echo $testvarNum | grep * The result of this is as follows: 5 However, when I try the following (i.e. to test if the variable is numeric or non-numeric):... (3 Replies)
Discussion started by: dkieran
3 Replies

4. Shell Programming and Scripting

grep functions, how to test if succeeded

Hello ...again. I am stuck on this part, I have a loop with processes an operations file. and calls different functions depending on what is in loop, which processes a database file... #so far my add function works as intended add() { ...blah blah; } # delete is kinda working... (13 Replies)
Discussion started by: gcampton
13 Replies

5. Shell Programming and Scripting

Test command in UNIX

Hi Team, -rwxr-xr-x 1 kmani00 system 9 Nov 08 03:29 tempfile.txt -rwxrwxrwx 1 kmani00 devgrp 0 Nov 08 03:32 testfile.txt by exec the following command, i did not get any output. > test -s tempfile.txt > a=`test -s tempfile.txt` > echo $a > by exec the... (4 Replies)
Discussion started by: kmanivan82
4 Replies

6. Shell Programming and Scripting

Ksh: Test UNIX command without $? everytime

Hello all, working on Solaris 10 in ksh. Basicly, in my function, i'm trying to test that all my unix cmd's are true (exit status 0) else you flag the rcControlRule to 1 without going into spagetti mode code testing every $? in a if statement. The mdb is probably a little tricky cause it... (3 Replies)
Discussion started by: maverick72
3 Replies

7. Shell Programming and Scripting

Grep/print/ a test file

cat abc.txt Filename: SHA_AED_Monthly_SNR_20150331.txt.gz Data Format: ASCII with carriage returns and linefeeds Compression: GZIP GZIP Bytes: 36893068 Unzipped Bytes : 613794510 Records: 851310 Record Length: 738 Blocksize: 32472 Filename: SHA_AED_SNR_ChangeLog_20150331.txt.gz Data... (16 Replies)
Discussion started by: dotran
16 Replies

8. Shell Programming and Scripting

Please help on UNIX grep command for numbers

I have a list of files like below, Do we have grep command to find files? If i grep 03874 it should display the file 3874, Grep command should ignore 0 at the beginning. There could be more many leading 0's in filename. $ ls -ltr total 5 -rw-r--r-- 1 mqm mqm 15 Feb 19 17:07 4769... (3 Replies)
Discussion started by: prince1987
3 Replies

9. UNIX for Beginners Questions & Answers

Help with UNIX test and wc Command

I want to xheck if a file exists that uses wildcards as only the partial filename is known using the test Command, and when it exists then output just the number of lines in the file... do not include the filename. Then this output, is it captured by the CommandOutput or the ReturnValue as I want... (2 Replies)
Discussion started by: dsinco
2 Replies

10. Shell Programming and Scripting

Using grep with test and without using [[ ]]

As an exercise, I'm trying to re-write this code without the compound square brackets, using grep and test. Need to know what to do about the "equal-tilde". #!/bin/bash # test-integer2: evaluate the value of an integer. INT=-5 if +$ ]]; then if ; then echo "INT is zero." else if ; then... (17 Replies)
Discussion started by: Xubuntu56
17 Replies
DATEINTERVAL.FORMAT(3)							 1						    DATEINTERVAL.FORMAT(3)

DateInterval::format - Formats the interval

SYNOPSIS
public string DateInterval::format (string $format) DESCRIPTION
Formats the interval. PARAMETERS
o $format - The following characters are recognized in the $format parameter string. Each format character must be prefixed by a percent sign ( %). +------------------+--------------------------------------+---+ |$format character | | | | | | | | | Description | | | | | | | | Example values | | | | | | +------------------+--------------------------------------+---+ | | | | | % | | | | | | | | | Literal % | | | | | | | | | | | | % | | | | | | | | | | | Y | | | | | | | | | Years, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03 | | | | | | | | | | | y | | | | | | | | | Years, numeric | | | | | | | | | | | | 1, 3 | | | | | | | | | | | M | | | | | | | | | Months, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 12 | | | | | | | | | | | m | | | | | | | | | Months, numeric | | | | | | | | | | | | 1, 3, 12 | | | | | | | | | | | D | | | | | | | | | Days, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 31 | | | | | | | | | | | d | | | | | | | | | Days, numeric | | | | | | | | | | | | 1, 3, 31 | | | | | | | | | | | a | | | | | | | | | Total number of days as a result of | | | | a DateTime::diff or (unknown) other- | | | | wise | | | | | | | | | | | | 4, 18, 8123 | | | | | | | | | | | H | | | | | | | | | Hours, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 23 | | | | | | | | | | | h | | | | | | | | | Hours, numeric | | | | | | | | | | | | 1, 3, 23 | | | | | | | | | | | I | | | | | | | | | Minutes, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 59 | | | | | | | | | | | i | | | | | | | | | Minutes, numeric | | | | | | | | | | | | 1, 3, 59 | | | | | | | | | | | S | | | | | | | | | Seconds, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 57 | | | | | | | | | | | s | | | | | | | | | Seconds, numeric | | | | | | | | | | | | 1, 3, 57 | | | | | | | | | | | R | | | | | | | | | Sign " -" when negative, " +" when | | | | positive | | | | | | | | | | | | -, + | | | | | | | | | | | r | | | | | | | | | Sign " -" when negative, empty when | | | | positive | | | | | | | | | | | | -, | | | | | | +------------------+--------------------------------------+---+ RETURN VALUES
Returns the formatted interval. NOTES
Note The DateInterval::format method does not recalculate carry over points in time strings nor in date segments. This is expected because it is not possible to overflow values like "32 days" which could be interpreted as anything from "1 month and 4 days" to "1 month and 1 day". EXAMPLES
Example #1 DateInterval example <?php $interval = new DateInterval('P2Y4DT6H8M'); echo $interval->format('%d days'); ?> The above example will output: 4 days Example #2 DateInterval and carry over points <?php $interval = new DateInterval('P32D'); echo $interval->format('%d days'); ?> The above example will output: 32 days Example #3 DateInterval and DateTime::diff with the %a and %d modifiers <?php $january = new DateTime('2010-01-01'); $february = new DateTime('2010-02-01'); $interval = $february->diff($january); // %a will output the total number of days. echo $interval->format('%a total days')." "; // While %d will only output the number of days not already covered by the // month. echo $interval->format('%m month, %d days'); ?> The above example will output: 31 total days 1 month, 0 days SEE ALSO
DateTime::diff. PHP Documentation Group DATEINTERVAL.FORMAT(3)
All times are GMT -4. The time now is 08:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy