The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
Google UNIX.COM


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
grep in Shell script Krishnaramjis Shell Programming and Scripting 1 02-19-2008 06:43 PM
grep script drchris UNIX for Dummies Questions & Answers 4 05-17-2007 06:32 AM
a script to simplify the use of grep kemobyte Shell Programming and Scripting 2 05-01-2007 10:57 AM
grep from a script... hamsasal UNIX for Advanced & Expert Users 1 08-14-2005 01:24 AM
script ksh/awk/grep hoang Shell Programming and Scripting 2 06-01-2002 12:20 AM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Display Modes
  #8  
Old 04-30-2008
Registered User
 

Join Date: Apr 2005
Posts: 30
Quote:
Originally Posted by chappidi_pradee View Post
hope this works for you

please add this in a script and change the permissions to chmod 755 for that file to make it executable.



#!/bin/sh

echo "enter the first value : \c";
read first_value

echo "enter the second value : \c";
read second_value

grep "\[$fist_value \]" REUTERS_200804*.log | grep "\[$second_value\]";

exit 0;
That is very cool. Thanks! Now how could i debug it to make sure that it is working. For example, i have 2 files in my home directory which is the same place that i am running the script from. For the first value, i put in 2do (i have a file with that name) and also the name of the script for the second value (grepscript.sh). How long should it take it to find those values...in your best guess. I am running a vmware machine on Solaris 10

thank you
Reply With Quote
Forum Sponsor
  #9  
Old 04-30-2008
era era is offline
Herder of Useless Cats
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 3,650
The script allows you to enter the strings, but not the file to grep in. That was not in the initial requirement.

Also, you would need to fix the spelling of "fist_value" (^:

Passing the strings to grep for on the command line is a little cumbersome, but allows you to improve your searches iteratively if your shell has a history mechanism. Scripts which prompt you are easy for beginners, but you quickly grow out of using them.

If you want to avoid having to type the backslashed square brackets, you can internalize those into the script:

Code:
#!/bin/sh

case $# in 1|2) echo "Syntax: $0 string1 string2 files ..." >&2; exit 1;; esac

first=$1
shift
second=$2
shift

grep "\\[$1\\]" "$@" | grep "\\[$2\\]"
The search time will depend on the number of items in each file (and on the complexity of the search strings, but you are just searching for literal strings which are relatively long, so nothing very complex there). You must know better than any of us how long these things typically take. But chappidi_pradee's script expected the search strings, not file names, as input.

On another note, if you think the backslashes are cumbersome, fgrep will only search for literal strings, so doesn't need backslashes (and indeed, if you put in backslashes, or square brackets, it will search for those characters literally).
Reply With Quote
  #10  
Old 05-01-2008
Registered User
 

Join Date: Apr 2008
Posts: 8
Thanks, much appreciated - it gives me a good start and a little more understanding.
Reply With Quote
  #11  
Old 05-01-2008
Registered User
 

Join Date: Apr 2008
Posts: 8
Is there anyway I can do the same for the date - ie user input?

I tried a similar format to the scripts already given but it doesnt work
Reply With Quote
  #12  
Old 05-11-2008
era era is offline
Herder of Useless Cats
 

Join Date: Mar 2008
Location: /there/is/only/bin/sh
Posts: 3,650
The one I pasted above allows you to specify two search strings, and an arbitrary number of input files. It should not be too hard to extend to fill in part of the file name automagically if you want to specify just the date and have the script know to "pad" it with the right directory name and extension etc.
Reply With Quote
  #13  
Old 05-16-2008
Registered User
 

Join Date: Apr 2008
Posts: 8
Thanks Era - I have managed to implement the user date input.
Reply With Quote
  #14  
Old 05-16-2008
Registered User
 

Join Date: Apr 2008
Posts: 8
Ok, I can now run this script and choose which parts I want to grep and the date I want to check - I have another question but not sure this can be done.

When I use grep to grep out tag 39 and its value, is there anyway I can get the script to display [11 ] [055152-A-09MEI08] as this is a ref number



e.g.

01:59:36 -- sending request [type=8|desc=Execution Report]
| [35 ] [8]
| [57 ] [***]
| [115 ] [***]
| [128 ] [***]
| [50 ] [***]
| [56 ] [***]
| [49 ] [***]
| [34 ] [3]
| [52 ] [20080515-05:59:36]
| [15 ] [EUR]
| [22 ] [4]
| [48 ] [FR0000120404]
| [55 ] [FR0000120404]
| [38 ] [150]
| [32 ] [0]
| [75 ] [20080515]
| [54 ] [1]
| [59 ] [6]
| [44 ] [50]
| [31 ] [0]
| [60 ] [20080515-00:45:55]
| [126 ] [20080630-23:00:00]
| [39 ] [4]
| [20 ] [0]
| [37 ] [***]
| [14 ] [0]
| [6 ] [0]
| [17 ] [12108311550651]
| [11 ] [055152-A-09MEI08]
| [8 ] [FIX.4.0]
| [9 ] [0287]
| [10 ] [059]
Reply With Quote
Google The UNIX and Linux Forums
Reply

Tags
solaris

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes




All times are GMT -7. The time now is 12:24 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Complex Event Processing Blog

Content Relevant URLs by vBSEO 3.2.0