{ 12 comments… read them below or add one }

1 codeguru February 26, 2009 at 6:46 am

That was pretty cool. Had problems understanding awk. The tip really enlightened me. Thanks

Reply

2 TrueColorTech June 1, 2009 at 4:08 pm

Thanks for the tip, made things much easier.

Reply

3 sundar June 26, 2009 at 2:34 am

That’s a good tip! By the way, how to read a file, compare a field value then insert record in between using awk? Can you help? Thanks. :-)

Reply

4 andre January 19, 2010 at 10:33 pm

Hi great article. One suggestion is that the file names in the awk scripts can be substituted for the standard input.

e.g. to get the number of lines in a file you could use

wc -l filename | awk ‘{ print $1 }’

Andre

Reply

5 varpal September 28, 2010 at 10:35 am

Can I compare two column in AWK

Reply

6 Ed Dagos September 16, 2011 at 1:26 am

Hi All,
Is it possible to find a pattern in the file and then print the previous 3 or 4 lines using awk/sed/grep ??
Regards,
Ed

Reply

7 Trupti October 1, 2011 at 5:46 pm

Exactl, even I wanted to know the same. If anyone could help me with this. :)

Ed Dagos September 16, 2011

Hi All,
Is it possible to find a pattern in the file and then print the previous 3 or 4 lines using awk/sed/grep ??
Regards,

Reply

8 nixCraft October 1, 2011 at 8:21 pm

Search for “foo” in data.txt and display 3 lines of leading context before matching line:

grep -B3 "foo" data.txt

The -A options display $NUM lines of trailing context after matching lines:

grep -A3 "foo" data.txt

Reply

9 Ed Dagos October 3, 2011 at 8:48 pm

Thanks Vivek for your response. However, on Sun OS 5.10 Options -B and -A do not work. Would you mind to tell me what environment have you tested it.
Regards,
Ed

Reply

10 owahid November 4, 2011 at 12:59 am

Hi,
If I have 8 lines (8 row with 1 column) in a file, can I print every 2 row in each row? Like
1
2
3
4
.
.
wil be
12
34
..
Thanks

Reply

11 muugii March 31, 2012 at 3:57 am

help me please
cat $file | awk ‘{ split($1, a, “;”) ;
if( a[2]= “wlan1″ ) # how to line print
if( a[4]!=0.00) }’

Reply

12 Robert Edward Johnson June 10, 2012 at 3:19 am

Is there any way to use awk (or any other aspect of unix shell scripting) to “declare” fields from position a to position b etc in the outline of the input, and reference those fields, IF there are no “automatic separators like a spacee, semicolon, etc. I have input with no separators and would love to use something “like” the usual while read LINE ; do processinputintooutput done < filename, but I'm not sure it can be done in shell scripting without separators, though it sounds like awk would work if I DID have separators.

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , ,

Previous Faq:

Next Faq: