Visit Our UNIX and Linux User Community


Grep Headers


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Grep Headers
# 1  
Old 09-15-2009
Grep Headers

Hi!

Trying to find string and then put the above Headers of corresponding fist line.

After executing a Property command a get this output:

SP/CH-CH Span Name Type TG Idle InUse OffHk OnHk Ring
-------- ------------------------------ ------ ---- ----- ----- -----
02/01-24 CARRIERSS7 505 2 22 0 0 0 1-24 12
04/01-24 CARRIERSS7 505 2 22 0 0 0 49-72 12
CH TRGP CIC Bearer BLoc-Rem CH TRGP CIC Bearer BLoc-Rem CH
-- ---- ----- -------- -------- -- ---- ----- -------- -------- -- ----
04 0 76 CARRIERISDN2511Reset H 11 505 83 Reset H 18 505 90 Reset H
05 0 77 CARRIERISDN2511Reset H 12 505 84 Reset H 19 505 91 Reset H
07 505 79 CARRIERISDN2511Reset H 14 505 86 Reset H 21 505 93 Reset H
08/01-24 CARRIERISDN2511 SS7CH TRGP CIC Bearer BLoc-Rem CH TRGP CIC
-- ---- ----- -------- -------- -- ---- ----- -------- -------- -- ----
01 511 97 Idle H M 09 511 105 Reset H 17 511 113 Reset H
02 511 98 Reset H 10 511 106 Reset H 18 511 114 Reset H


i excute a grep with in this way to filter:

Code:
 command  | grep CARRIERSS7

and get this output:

02/01-24 CARRIERSS7 505 2 22 0 0 0 1-24 12
04/01-24 CARRIERSS7 505 2 22 0 0 0 49-72 12

then i neet to bring the header above the first output line no matter whats the result.

i was thinking to store the output in a variable and then excute a second grep to find the hear and then merge in one file all together like this:

SP/CH-CH Span Name Type TG Idle InUse OffHk OnHk Ring
-------- ------------------------------ ------ ---- ----- ----- -----
02/01-24 CARRIERSS7 505 2 22 0 0 0 1-24 12
04/01-24 CARRIERSS7 505 2 22 0 0 0 49-72 12

thanx for all
# 2  
Old 09-15-2009
use awk...
Code:
command|awk 'BEGIN{print "SP/CH-CH Span Name Type TG Idle InUse OffHk OnHk Ring\n-------- ------------------------------ ------ ---- ----- ----- ----- "}/CARRIERSS7/{print}'


Last edited by vidyadhar85; 09-18-2009 at 10:35 PM..
# 3  
Old 09-15-2009
The header is always in the first (or first two, if you want to include the separator) line(s) and there is a special command for printing the first <n> lines of a data stream: "head -<n> ". So you could get your desired output with two commands:

Code:
head -2 <file>
grep "<your-filter>" <file>

Still, this is a invocation of two separate commands and it will be more performant if you could combine it to one command. Actually "sed" is able to do this:

Code:
sed -n '1,2p;/<your_filter>/p' <file>

The second variant has the additional advantage of being fit to be used in a pipeline, whereas in the first variant you would have to deal with "tee" to create several output streams for the different tools:

Code:
process_creating_output | sed -n '1,2p;/<your_filter>/p'

I hope this helps.

bakunin
# 4  
Old 09-18-2009
Hi all.
Sorry for the late...

Thank you!!! i'll try all of your post!

---------- Post updated at 07:41 PM ---------- Previous update was at 06:43 PM ----------

the command sed works pertectly !!!

tx!!!
# 5  
Old 09-18-2009
I don't think there is any problem with awk.. its also working fine...
did you tried???
# 6  
Old 09-19-2009
No, there is not. but with sed have not to write the whole header...but thanx, now i know two way to do this, thanx you guys!!!
# 7  
Old 09-19-2009
With awk you can do something like:

Code:
awk 'NR<3{print} /CARRIERSS7/' file

 

Previous Thread | Next Thread
Test Your Knowledge in Computers #756
Difficulty: Medium
The difference between EPROM and EEPROM is based on the way that the memory programs and erases.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Email Headers

I'm trying to pick up some Unix SysAdmin skills on my own outside of work through the use of the "Unix and Linux System Administrators Handbook." I've found the exercises to be very beneficial, until I came to this.... "What path did the email take? To Whom was it addressed, and to whom was it... (0 Replies)
Discussion started by: ksmarine1980
0 Replies

2. UNIX for Dummies Questions & Answers

Modifying headers

I have a FASTA file with thousands of sequences that looks something like this: I need to modfy the header in such way that everything after the dot is remove. Thus, I will end up with something like this: Thanks (1 Reply)
Discussion started by: Xterra
1 Replies

3. Shell Programming and Scripting

editing headers

Hi, I have a folder that contains many (multiple) files 1.fasta 2.fasta 3.fasta 4.fasta 5.fasta . . 100's of files Each such file have data in the following format for example: vi 1.fasta 58 390 A GTATACATTATTGATGAAGTCCACATGCTTTCTATGGGTGCCTTCAATGCGCTTTTAAAA (7 Replies)
Discussion started by: Lucky Ali
7 Replies

4. Shell Programming and Scripting

Editing headers

Hi, I have a folder that contains many (multiple) files 1.fasta 2.fasta 3.fasta 4.fasta 5.fasta . . 100's of files Each such file have data in the following format for example: vi 1.fasta >AB_1 200bp MLKKPIIIGVTGGSGGGKTSVSRAILDSFPNARIAMIQHDSYYKDQSHMSFEERVKTNYDHPLAFDTDFM... (4 Replies)
Discussion started by: Lucky Ali
4 Replies

5. Programming

c - problem with headers?

I have a simple program to create a poker deck, shuffle it and deal cards. Here it is: #include <stdio.h> #include <stdlib.h> #include <time.h> struct Card { char *face, *suit; }; void fillDeck (Card *deck, char *face, char *suit); void shuffle (Card *deck); void... (4 Replies)
Discussion started by: Luke Bonham
4 Replies

6. Shell Programming and Scripting

How to pull info under headers in file(awk,grep,while loop)

below is an extract from my file and I am trying to use Awk and grep and a while loop to pull infomation from under neath "HBA WWN=".HBA WWN=" reoccurs all over the file but the 100000c.....number are unique and I want to be able to pull and reference specifi information under this header ever time... (2 Replies)
Discussion started by: kieranfoley
2 Replies

7. Shell Programming and Scripting

Merging of files with different headers to make combined headers file

Hi , I have a typical situation. I have 4 files and with different headers (number of headers is varible ). I need to make such a merged file which will have headers combined from all files (comman coluns should appear once only). For example - File 1 H1|H2|H3|H4 11|12|13|14 21|22|23|23... (1 Reply)
Discussion started by: marut_ashu
1 Replies

8. Shell Programming and Scripting

Remove text between headers while leaving headers intact

Hi, I'm trying to strip all lines between two headers in a file: ### BEGIN ### Text to remove, contains all kinds of characters ... Antispyware-Downloadserver.com (Germany)=http://www.antispyware-downloadserver.c om/updates/ Antispyware-Downloadserver.com #2... (3 Replies)
Discussion started by: Trones
3 Replies

9. Programming

headers of the query

when we are spooling query o/p to certain txt file,in that file how we can get headers in the query.(through unix shell scripting). for exmple q1="slect * from XXXXXX;"; sqlplus XXX/XXXX@XXXXX spool XXXX.txt $q1 spool off in the text file i want the headers of the query..... ... (0 Replies)
Discussion started by: bhagya.puccha
0 Replies

10. Programming

C Headers

Where can i get C/C++ headers for OS MINIX 2.0.3? (0 Replies)
Discussion started by: biosdos
0 Replies

Featured Tech Videos