Grep -C option not available


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Grep -C option not available
# 1  
Old 12-04-2014
Grep -C option not available

grep -C option is not availbale and i am using korn shell.

Even -C option in man grep is not showing..

Input file : test.txt
Code:
111
333
444
555
aaa
bbbb

Command :
Code:
grep -C1 555 test.txt

Required output:
Code:
444
555
aaa

Please tell the alternative approach to get the result?

Thanks..
# 2  
Old 12-04-2014
grep's -C option, when available, is a combination of -A and -B, so the alternative is
Code:
grep -A1 -B1 555 test.txt

This User Gave Thanks to junior-helper For This Post:
# 3  
Old 12-04-2014
Try:
Code:
awk -v s=555 '$0~s{if(p x)print p; print; c=1; p=x; next} {p=$0} c-->0{print; p=x}' file


---
On Solaris use /usr/xpg4/bin/awk rather than awk


--
Quote:
Originally Posted by junior-helper
grep's -C option, when available, is a combination of -A and -B, so the alternative is
Code:
grep -A1 -B1 555 test.txt

The -C option works with GNU Grep and recent BSD grep.. If the -C option is not available, then -B and -A aren't either, so it is not an alternative really....

Last edited by Scrutinizer; 12-04-2014 at 04:09 PM..
# 4  
Old 12-04-2014
-C is (iirc) a GNU-grep option. What's your OS?
# 5  
Old 12-04-2014
Hi.

Possibilities:
Code:
Print lines above, below pattern-matched line (context, window); "only" string matching pattern
	1) GNU grep -A -B; ggrep on some Solaris

	2) peg, a perl script, does not use "-o" like GNU grep;
	allows -A, -B

	3) ack, a perl script, can use "-o" like GNU grep; allows -A,
	-B

	4) cgrep does not use "-o" like GNU grep; allows -nline,
	+nline for context like GNU grep -A, -B

	5) bool, prints context in bytes

	6) xtcgrep, extension of CPAN grep; allow -C context; allows -o;
	complicated calling sequence; http://freecode.com/projects/greppm

Best wishes ... cheers, drl
# 6  
Old 12-04-2014
egrep -C 1 you can emulate with awk:
Code:
awk '$0~s {if (bb) {print b; bb=0}; print; if (getline) print; next} {b=$0; bb=1}' s="555" test.txt

(In Solaris, you need nawk or /usr/xpg4/bin/awk)
# 7  
Old 12-04-2014
@MadeinGermany: That won't work for two consecutive lines with the pattern. Then the line after will not be printed..
This User Gave Thanks to Scrutinizer For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

-v and -f option for grep not working

In solaris, i m trying to find the files having a particulat extension and then from the list i want to exclude those files which is present in a file. But it seems the -f and -v option are not working find $source -type f -name $extn | /usr/xpg4/bin/grep -F -v -f $exclude | while read... (7 Replies)
Discussion started by: millan
7 Replies

2. UNIX for Dummies Questions & Answers

Use the -B option with grep

I am trying to parse out a file using grep - I would like to use the -B option so that the grep command prints the previous 2 lines if/when my string is matched - listed below are two examples - one with the info I want printed to a new file and one with info I want ignored. Any help with the grep... (6 Replies)
Discussion started by: bjdamon
6 Replies

3. Shell Programming and Scripting

grep with cut option??

This is my command-line code in my script, passwd=`grep $passwd $userfile | cut -f2 -d: login_users > retrieve` the cut -f2 -d: login_users > retrieve searches and prints the whole column two. what I need is one of the items in the column two only.. what option can I add to my cut... (2 Replies)
Discussion started by: jenimesh19
2 Replies

4. Solaris

Grep Option

Hi, I was wondering, if there is any option with Grep, so that i can have couple of lines appearing before and after the search line within a result ? Thanks in Advance. Rgds - Prince. (4 Replies)
Discussion started by: john_prince
4 Replies

5. Shell Programming and Scripting

Need best grep option or alternative

Hello, I am processing a text file which contains only words with few combination of characters (it is a dictionary file). example: havana have haven haven't havilland havoc Is there a way to exclude only 1 to 8 character long words which not include space or special characters : '-`~.. so... (5 Replies)
Discussion started by: alekkz
5 Replies

6. Solaris

Grep -A -B -C option

Hi, Does anyone know why -A/B/C is not working with grep on my solaris box? Thanks, Prince (5 Replies)
Discussion started by: john_prince
5 Replies

7. UNIX for Dummies Questions & Answers

grep -v '#' option

Hi, I've the following code in my program. grep 'FILE_PREFIX' /cblconfig |grep -v '#' > $fpfx-filename I'm not sure what second grep does. Can someone explain this command? Thanks (1 Reply)
Discussion started by: ani12345
1 Replies

8. Shell Programming and Scripting

grep -m option

I am new to unix environment, can somebody help me with the grep options like -m. (3 Replies)
Discussion started by: vikas_kesarwani
3 Replies

9. UNIX for Advanced & Expert Users

grep using -f option

Dear all I have a file with more than one patters to search.Such as pattern.txt. I have to grep these patterns into a data file such as data.txt.how to do this ,i tried /usr/xpg4/bin/grep -f <pattern_file> <data_file> Its not working. why or how to search pattern file ? (3 Replies)
Discussion started by: tkbharani
3 Replies

10. UNIX for Advanced & Expert Users

grep -- option?

Does anyone know what the double dashes in the following grep line mean? grep -c -- "->" The intent of the line is to have a long listing of a directory piped to it, and for it to count off the symbolic links based on the "->" characters. I'm not sure why the scripter decided to search for... (1 Reply)
Discussion started by: dmwatan
1 Replies
Login or Register to Ask a Question