Grep -i


 
Thread Tools Search this Thread
Operating Systems Solaris Grep -i
# 1  
Old 12-10-2016
Grep -i

Hi,

Code:
Cat alert_db.log |grep -i "Dec 04" > test.log

does not show complete line from alert log it shows only Dec 04 2012-13 so on .

I need full content to be written in test log whatever is there in alert_db.log written on Dec 04 2016 between 13:00:00 to 17:00:00.

What command I should use?

Thanks in advance!!

Manish
Moderator's Comments:
Mod Comment You have been reminded several times before to use CODE tags when displaying sample input, sample output, and code segments. You have been placed in read-only mode for a while and reminded to review the rules you agreed to when you joined this forum before when you violated several rules in one post. Continued rule violations may lead to you being permanently barred from this site.

Last edited by Don Cragun; 12-10-2016 at 02:56 AM.. Reason: Add CODE and ICODE tags, again.
# 2  
Old 12-10-2016
Quote:
Originally Posted by manish_1678
Hi,

Code:
Cat alert_db.log |grep -i "Dec 04" > test.log

does not show complete line from alert log it shows only Dec 04 2012-13 so on .

I need full content to be written in test log whatever is there in alert_db.log written on Dec 04 2016 between 13:00:00 to 17:00:00.

What command I should use?

Thanks in advance!!

Manish
Moderator's Comments:
Mod Comment You have been reminded several times before to use CODE tags when displaying sample input, sample output, and code segments. You have been placed in read-only mode for a while and reminded to review the rules you agreed to when you joined this forum before when you violated several rules in one post. Continued rule violations may lead to you being permanently barred from this site.
You haven't bothered to tell us which version of the Solaris operating system you're using nor the shell you're using nor the path to the grep utility you're using on your Solaris system, so we can only make a wild guess that you're using a version of grep that makes use of a horrible environment variable like the one the GNU grep uses (GREP_OPTIONS) that defines options to be applied to every grep command you run and that you have defined this environment variable to contain the -o option (and maybe others as well).

So... look at the man page for the version of the grep utility you are using and search it for environment variables that affect the execution of grep commands; search the environment you're using when you invoke grep and it is misbehaving as described in your message; unset that variable; and try running your command again. Or try using /usr/bin/grep or /usr/xpg4/bin/grep instead of the version of grep you are using.

On most systems there is a cat command, but no Cat command; so the command line shown in your post is still not likely to work (and there is absolutely no reason to use cat for this command line unless you are trying to place more load on your system and slow down getting results). The command:
Code:
/usr/xpg4/bin/grep -i "Dec 04" alert_db.log > test.log

would be much preferable to the one you showed us in your post, but there is nothing in your command line that makes any attempt to restrict output to the time range you specified. And, since you haven't shown us the format of the data on the lines you're trying to print, we can again only make wild guesses at what might work for you. You could try something like:
Code:
/usr/xpg4/bin/grep -i 'Dec 04.*1[3-6]:[0-5][0-9]:[0-5][0-9]' alert_db.log > test.log

which will find and print lines that contain the string Dec 04 (in a case insensitive match) followed by anything following by a timestamp in the inclusive range 13:00:00 through 16:59:59. But, depending on the format of your data and data that might follow timestamps in your data, this could easily display lines in addition to those that meet your criteria (i.e. false positives).

Your requirements are not clear as to whether or not the timestamp 17:00:00 should be selected for printing, whether the timestamp comes before or after the date, what range of years you want to select for printing, etc. Hopefully, the above information will give you enough to fix your RE to match whatever date and timestamps you really want to select.
___________________
Update:
The RE error noted in post #3 has been fixed.

Last edited by Don Cragun; 12-10-2016 at 12:58 PM.. Reason: Fix typo noted in post #3: s/:[0-5][0-9]:[0-5][0-9]/:[0-5][0-9]/
This User Gave Thanks to Don Cragun For This Post:
# 3  
Old 12-10-2016
Don Cragun's carefully analysed and phrased post has a small hitch: the regex has one :00-59 range too many - drop one of the :[0-5][0-9]s.
This User Gave Thanks to RudiC For This Post:
# 4  
Old 12-10-2016
Quote:
Originally Posted by RudiC
Don Cragun's carefully analysed and phrased post has a small hitch: the regex has one :00-59 range too many - drop one of the :[0-5][0-9]s.
Thank you for catching my typo. That bug has now been fixed in post #2.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Inconsistent `ps -eaf -o args | grep -i sfs_pcard_load_file.ksh | grep -v grep | wc -l`

i have this line of code that looks for the same file if it is currently running and returns the count. `ps -eaf -o args | grep -i sfs_pcard_load_file.ksh | grep -v grep | wc -l` basically it is assigned to a variable ISRUNNING=`ps -eaf -o args | grep -i sfs_pcard_load_file.ksh |... (6 Replies)
Discussion started by: wtolentino
6 Replies

2. UNIX for Dummies Questions & Answers

Piping grep into awk, read the next line using grep

Hi, I have a number of files containing the information below. """"" Fundallinfo 6.3950 14.9715 14.0482 """"" I would like to grep for Fundallinfo and use it to read the next line? I ideally would like to read the three numbers that follow in the next line and... (2 Replies)
Discussion started by: Paul Moghadam
2 Replies

3. UNIX for Dummies Questions & Answers

Bash - CLI - grep - Passing result to grep through pipe

Hello. I want to get all modules which are loaded and which name are exactly 2 characters long and not more than 2 characters and begin with "nv" lsmod | (e)grep '^nv???????????? I want to get all modules which are loaded and which name begin with "nv" and are 2 to 7 characters long ... (1 Reply)
Discussion started by: jcdole
1 Replies

4. Shell Programming and Scripting

AWK/GREP: grep only lines starting with integer

I have an input file 12.4 1.72849432773174e+01 -7.74784188610632e+01 12.5 9.59432114416327e-01 -7.87018212757537e+01 15.6 5.20139995965960e-01 -5.61612429666624e+01 29.3 3.76696387248366e+00 -7.42896194101892e+01 32.1 1.86899877018077e+01 -7.56508762501408e+01 35 6.98857157014640e+00... (2 Replies)
Discussion started by: chrisjorg
2 Replies

5. UNIX for Dummies Questions & Answers

Advanced grep'in... grep for data next to static element.

I have a directory I need to grep which consists of numbered sub directories. The sub directory names change daily. A file resides in this main directory that shows which sub directories are FULL backups or INCREMENTAL backups. My goal is to grep the directory for the word "full" and then... (2 Replies)
Discussion started by: SysAdm2
2 Replies

6. UNIX for Dummies Questions & Answers

Difference between grep, egrep & grep -i

Hi All, Please i need to know the difference between grep, egrep & grep -i when used to serach through a file. My platform is SunOS 5.9 & i'm using the korn shell. Regards, - divroro12 - (2 Replies)
Discussion started by: divroro12
2 Replies

7. Shell Programming and Scripting

grep for certain files using a file as input to grep and then move

Hi All, I need to grep few files which has words like the below in the file name , which i want to put it in a file and and grep for the files which contain these names and move it to a new directory , full file name -C20091210.1000-20091210.1100_SMGBSC3:1000... (2 Replies)
Discussion started by: anita07
2 Replies

8. UNIX for Dummies Questions & Answers

| help | unix | grep (GNU grep) 2.5.1 | advanced regex syntax

Hello, I'm working on unix with grep (GNU grep) 2.5.1. I'm going through some of the newer regex syntax using Regular Expression Reference - Advanced Syntax a guide. ls -aLl /bin | grep "\(x\)" Which works, just highlights 'x' where ever, when ever. I'm trying to to get (?:) to work but... (4 Replies)
Discussion started by: MykC
4 Replies

9. UNIX for Dummies Questions & Answers

| help | unix | grep - Can I use grep to return a string with exactly n matches?

Hello, I looking to use grep to return a string with exactly n matches. I'm building off this: ls -aLl /bin | grep '^.\{9\}x' | tr -s ' ' -rwxr-xr-x 1 root root 632816 Nov 25 2008 vi -rwxr-xr-x 1 root root 632816 Nov 25 2008 view -rwxr-xr-x 1 root root 16008 May 25 2008... (7 Replies)
Discussion started by: MykC
7 Replies

10. Shell Programming and Scripting

MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else

Hi Guys, I need to set the value of $7 to zero in case $7 is NULL. I've tried the below command but doesn't work. Any ideas. thanks guys. MEM=`ps v $PPID| grep -i db2 | grep -v grep| awk '{ if ( $7 ~ " " ) { print 0 } else { print $7}}' ` Harby. (4 Replies)
Discussion started by: hariza
4 Replies
Login or Register to Ask a Question