Sponsored Content
Full Discussion: help in script needed
Top Forums UNIX for Dummies Questions & Answers help in script needed Post 302545867 by agama on Tuesday 9th of August 2011 10:00:35 PM
Old 08-09-2011
It is quite possible that the output from your dsjob command contains tab characters rather than spaces, and that would cause grep not to find your strings.

Try this as your grep expression:

Code:
"Job.*Status.*RUN.*FAILED"

That should search for the enough of the desired words, in order, without regard to intermediate whitespace (tabs or spaces) or special characters like the colon.

Unfortunately the date command is very inconsistent from version to version of *NIX. To that end, provided your awk supports the systime() and strftime() functions, this is probably the easiest way to get 'yesterday' in the string format that you want. It computes the current time, subtracts a day (86400 seconds) and finally formats it. The string is put into the shell variable "yesterday" which you can use on a grep command:
Code:
yesterday=$( awk 'BEGIN{ str=strftime( "%a %b %d", systime()-86400 ); print str; }')

Given that, use egrep to match both lines, and test the number of matched lines rather than the return code to determine if there was a "hit."

Code:
count=$(dsjob ---your parameters--- | egrep -c  "$yesterday|Job.*Status.*RUN.*FAILED")
if (( $count == 2 ))   
then
   echo "this job failed yesterday"
else
   echo "this job was successful, OR didn't run yesterday"
fi


Last edited by agama; 08-09-2011 at 11:14 PM.. Reason: fixed egrep
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script needed

Hi I am looking for the script which can move 1month old data from a TXT file.actully in this file data is appended on daily basis.pleasehalp me out. Thanks in advance (3 Replies)
Discussion started by: vpandey
3 Replies

2. Shell Programming and Scripting

Script help needed

I have a code given below... ERROR=`grep "Job Status" ${LOG_FILE}` ERROR=${ERROR##*\(} ERROR=${ERROR%%\)*} if then echo "The job completed successfully" EXIT_STATUS=0 else echo "The job failed" EXIT_STATUS=1 fi can anybody tell me what is ERROR=${ERROR##*\(}... (1 Reply)
Discussion started by: Sagarddd
1 Replies

3. UNIX and Linux Applications

script needed

hi i am new to linux world please help me,i have two files in diff location i need to compare both and i need to see difference b/w them ex /media/txt (file1) xxxxxx xxxxxx xxxxx xxxxxx xxxxxx /media/rev/ (file2) rev is a folder which contains some files so i need to compare the files in... (3 Replies)
Discussion started by: revenna
3 Replies

4. Shell Programming and Scripting

Script needed!! - Please help

Hi All, I have a text file contains the follwoing info: HOST_CONFIG spbf1n01 3181 patrolpv "B6abbKEW5L1TCE5B282445" I E W A HOST_CONFIG spbf1n02 3181 patrolpv "B6abbKEW5L1TCE5B282445" I E W A HOST_CONFIG spbf1n03 3181 patrolpv "B6abbKEW5L1TCE5B282445" I E W A Whenever the String... (6 Replies)
Discussion started by: ntgobinath
6 Replies

5. Shell Programming and Scripting

help needed for a script!!

Hi!! Im new to shell scripting. I have an important assignment to complete in my company tomorrow. Please help me. I have to write an interactive script which does the following thing: There is a file named ""rules"in a folder say /home/f1/ . This file contains text in the form: 123 345... (5 Replies)
Discussion started by: rahul195
5 Replies

6. Shell Programming and Scripting

Help Needed in Sh script

hi, Im trying to select from a sql using shell script and once i get count i need to add the count to the subject line and send mail to every1.. ex : Select count(*) from emp; In Shell script echo $PASSWORD|$ORACLE_HOME/bin/sqlplus $USERID@$DBNAME @$SCRIPT_DIR/emp_count.sql... (1 Reply)
Discussion started by: jkumsi
1 Replies

7. Shell Programming and Scripting

Expect script help needed- script failing if router unavailable

Hey all. Sometimes I'm tasked to change some router configs for the entire network (over 3,000 Cisco routers). Most of the time its a global config parameter so its done with a loop and an IP list as its the same configuration change for all routers. This is working OK. However, sometimes an... (3 Replies)
Discussion started by: mrkz1974
3 Replies

8. Shell Programming and Scripting

Help needed for script

Hi, I have a big list like this --> 3285 3289 328D 3291 3295 3299 329D 32A1 I need to make it like --> 3285|3289|328D|3291|3295|3299|329D|32A1 Please suggest. This is Linux OS. (8 Replies)
Discussion started by: solaris_1977
8 Replies

9. Shell Programming and Scripting

Help Needed on Script

Hi team, I am looking to execute some command through xargs. $cat testfile | grep myloc alias myloc='cd /export/nfs-1sv-23/' I am trying to execute that alias as soon as i cat and grep ? I tried with $cat testfile | grep myloc | xargs --> no luck ... Can some one assist me with... (6 Replies)
Discussion started by: itsme488
6 Replies

10. Homework & Coursework Questions

Help needed for a script

TAG flow Between SDR and DELTA SDR is the Source table. Delta is the target table having one staging table and one Main table. Tags flows between SDR and Delta through ER gateway. From SDR (SDR.CUSTOMER_PRODUCT and SDR.CUSTOMER_PRODUCT_RELATIONSHIP) the Tags flows to ER... (2 Replies)
Discussion started by: patitapaban
2 Replies
grep(1) 						      General Commands Manual							   grep(1)

Name
       grep, egrep, fgrep - search file for regular expression

Syntax
       grep [option...] expression [file...]

       egrep [option...] [expression] [file...]

       fgrep [option...] [strings] [file]

Description
       Commands  of  the family search the input files (standard input default) for lines matching a pattern.  Normally, each line found is copied
       to the standard output.

       The command patterns are limited regular expressions in the style of which uses a compact nondeterministic algorithm.  The command patterns
       are  full  regular  expressions.  The command uses a fast deterministic algorithm that sometimes needs exponential space.  The command pat-
       terns are fixed strings.  The command is fast and compact.

       In all cases the file name is shown if there is more than one input file.  Take care when using the characters $ * [ ^ | ( ) and   in  the
       expression because they are also meaningful to the Shell.  It is safest to enclose the entire expression argument in single quotes ' '.

       The command searches for lines that contain one of the (new line-separated) strings.

       The command accepts extended regular expressions.  In the following description `character' excludes new line:

	      A  followed by a single character other than new line matches that character.

	      The character ^ matches the beginning of a line.

	      The character $ matches the end of a line.

	      A .  (dot) matches any character.

	      A single character not otherwise endowed with special meaning matches that character.

	      A  string  enclosed in brackets [] matches any single character from the string.	Ranges of ASCII character codes may be abbreviated
	      as in `a-z0-9'.  A ] may occur only as the first character of the string.  A literal - must be placed where it can't be mistaken	as
	      a range indicator.

	      A  regular  expression  followed	by  an	* (asterisk) matches a sequence of 0 or more matches of the regular expression.  A regular
	      expression followed by a + (plus) matches a sequence of 1 or more matches of the regular expression.  A regular expression  followed
	      by a ? (question mark) matches a sequence of 0 or 1 matches of the regular expression.

	      Two regular expressions concatenated match a match of the first followed by a match of the second.

	      Two regular expressions separated by | or new line match either a match for the first or a match for the second.

	      A regular expression enclosed in parentheses matches a match for the regular expression.

       The  order  of  precedence  of  operators at the same parenthesis level is the following:  [], then *+?, then concatenation, then | and new
       line.

Options
       -b	   Precedes each output line with its block number.  This is sometimes useful in locating disk block numbers by context.

       -c	   Produces count of matching lines only.

       -e expression
		   Uses next argument as expression that begins with a minus (-).

       -f file	   Takes regular expression (egrep) or string list (fgrep) from file.

       -i	   Considers upper and lowercase letter identical in making comparisons and only).

       -l	   Lists files with matching lines only once, separated by a new line.

       -n	   Precedes each matching line with its line number.

       -s	   Silent mode and nothing is printed (except error messages).	This is useful for checking the error status (see DIAGNOSTICS).

       -v	   Displays all lines that do not match specified expression.

       -w	   Searches for an expression as for a word (as if surrounded by `<' and `>').  For further information, see only.

       -x	   Prints exact lines matched in their entirety only).

Restrictions
       Lines are limited to 256 characters; longer lines are truncated.

Diagnostics
       Exit status is 0 if any matches are found, 1 if none, 2 for syntax errors or inaccessible files.

See Also
       ex(1), sed(1), sh(1)

																	   grep(1)
All times are GMT -4. The time now is 11:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy