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 a file for a pattern SYNOPSIS
grep [ option ] ... expression [ file ] ... egrep [ option ] ... [ expression ] [ file ] ... fgrep [ option ] ... [ strings ] [ file ] DESCRIPTION
Commands of the grep family search the input files (standard input default) for lines matching a pattern. Normally, each line found is copied to the standard output; unless the -h flag is used, the file name is shown if there is more than one input file. Grep patterns are limited regular expressions in the style of ed(1); it uses a compact nondeterministic algorithm. Egrep patterns are full regular expressions; it uses a fast deterministic algorithm that sometimes needs exponential space. Fgrep patterns are fixed strings; it is fast and compact. The following options are recognized. -v All lines but those matching are printed. -c Only a count of matching lines is printed. -l The names of files with matching lines are listed (once) separated by newlines. -n Each line is preceded by its line number in the file. -b Each line is preceded by the block number on which it was found. This is sometimes useful in locating disk block numbers by con- text. -s No output is produced, only status. -h Do not print filename headers with output lines. -y Lower case letters in the pattern will also match upper case letters in the input (grep only). -e expression Same as a simple expression argument, but useful when the expression begins with a -. -f file The regular expression (egrep) or string list (fgrep) is taken from the file. -x (Exact) only lines matched in their entirety are printed (fgrep only). Care should be taken when using the characters $ * [ ^ | ? ' " ( ) and in the expression as they are also meaningful to the Shell. It is safest to enclose the entire expression argument in single quotes ' '. Fgrep searches for lines that contain one of the (newline-separated) strings. Egrep accepts extended regular expressions. In the following description `character' excludes newline: A followed by a single character matches that character. The character ^ ($) matches the beginning (end) of a line. A . 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 * (+, ?) matches a sequence of 0 or more (1 or more, 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 newline 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 [] then *+? then concatenation then | and newline. SEE ALSO
ed(1), sed(1), sh(1) DIAGNOSTICS
Exit status is 0 if any matches are found, 1 if none, 2 for syntax errors or inaccessible files. BUGS
Ideally there should be only one grep, but we don't know a single algorithm that spans a wide enough range of space-time tradeoffs. Lines are limited to 256 characters; longer lines are truncated. GREP(1)
All times are GMT -4. The time now is 05:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy