grep command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep command
# 1  
Old 05-23-2003
Network grep command

Hi

I have read your article on grep it is very useful.

I have a problem using grep , can you please help me to sort out.

I am listing the contents of a file below :

##########1003134 05/04/1970F48371008 0736778 6123785090 0E10/13/1997

04/22/1998XSSUB 77 37 .00 -26.52

##########1004826 06/07/1949M58788224 0780015 6120000000 0E03/26/1998

XCIA 77 33.20 -251.65 W 12

##########1742034 04/05/1919F47094272 0627422 6126318148 0E04/28/1997

XXEA 77 .00 -131.92 P ##########1753219 08/13/1922F47185401 0022198 6126233676 0E06/04/1997

XCIA 77 23201DMN .00 -18.33
##########1759194 05/20/1957F47640131 0741645 6127224265 0E06/24/1997

XXUA 77 120.80 .00 W ##########1760725 03/22/1914F46013107 1069089 6128275931 0E06/29/1997

XXEA 77 147.00 -86.97 I 090901 ##########1761672 12/25/192M129341331 1055160 6128706104 0E07/02/1997

XXEA 77 171.18 -359.58 X

I need to remove some junk lines which appear before the first line shown above, I have not listed the junk lines here. I need to remove the

Junk lines and send the valid lines ie the lines which start with 10 hash (#) to an output file, so I have used the following command.


$ grep -E “\ # \ # \ # \ # \ # \ # \ # \ # \ # \ #” testfile.txt > mainfile.txt

My intention here is to take out all the lines which start with 10 #'s in to the other file, and as you see that each row has three lines and when

I use this command it is just picking the line which has the hash and skipping the other 2 lines.

Is there any solution for this problem using grep or do I need to use any other method.

Thanks

Vittal Raj
# 2  
Old 05-23-2003
Just out of curiosity, what article on grep are you referring to..?

Quote:
I need to remove some junk lines which appear before the first line shown above, I have not listed the junk lines here.
Is this file really how your file looks? The entire file looks unreadable..
Quote:
... and as you see that each row has three lines ...
To me, it doesn't look like every line with hashes in it is followed by two lines.. or is this how you meant for it to look?
Code:
##########1003134 05/04/1970F48371008 0736778 6123785090 0E10/13/1997

04/22/1998XSSUB 77 37 .00 -26.52

##########1004826 06/07/1949M58788224 0780015 6120000000 0E03/26/1998

XCIA 77 33.20 -251.65 W 12

##########1742034 04/05/1919F47094272 0627422 6126318148 0E04/28/1997

XXEA 77 .00 -131.92 P

##########1753219 08/13/1922F47185401 0022198 6126233676 0E06/04/1997

XCIA 77 23201DMN .00 -18.33

##########1759194 05/20/1957F47640131 0741645 6127224265 0E06/24/1997

XXUA 77 120.80 .00 W

##########1760725 03/22/1914F46013107 1069089 6128275931 0E06/29/1997

XXEA 77 147.00 -86.97 I 090901

##########1761672 12/25/192M129341331 1055160 6128706104 0E07/02/1997

XXEA 77 171.18 -359.58 X

grep -E "#{10}" will move all the lines with hashes in them to another file, but I'm not sure what else you want to pull out..

Last edited by oombera; 05-23-2003 at 11:08 AM..
# 3  
Old 05-23-2003
I think that he wants the line that starts with ########## and whatever two lines happen to follow it. Try this:

sed -n '/^##########/ { N ; N ; p ; } '
# 4  
Old 05-23-2003
Thanks

Yes Perderabo got it right.

I am new to shell scripting.

I have a question can i use the command you have sent

by giving the inputfile and redirecting it to a outputfile like

sed -n '/^##########/ { N ; N ; p ; } ' inputfile.txt > outfile.txt

I am sorry if i am irritating you with questions.

Thanks for the time!

Vittal Raj
# 5  
Old 05-23-2003
Yes, that should work fine.
# 6  
Old 05-24-2003
Just adding to the quetion above, What if a file consist of records, where in each records consist of multiple line, and each new records starts with a #.

If the number of lines followed by # is fixed, then it can be easily solved by the answer given above. But what if the number of lines in a records is not fixed? How to extract then?

Regards,
Yeheya
# 7  
Old 05-24-2003
Quote:
Originally posted by yeheyaansari


If the number of lines followed by # is fixed, then it can be easily solved by the answer given above. But what if the number of lines in a records is not fixed? How to extract then?

Regards,
Yeheya
There is not enough information here to answer the question. If a line like "#start" is followed 30 lines and only some of them are continuations of the record, the question is how do you tell? If there is a way to tell where the record ends, that way can be programmed. And we also need to know which records to select and which to ignore.

If you post a concrete example, then we can give a concrete solution.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Help on grep command

for example i have a directory home/solaris/unix/samplefiles/ with defaults files in it.. those default files have 1 word in common "UNIX". how can i list the files without "UNIX" words in it using grep command thanks, im using unix solaris, korn shell.. (1 Reply)
Discussion started by: daveaztig14
1 Replies

2. Shell Programming and Scripting

Grep command giving different result for different users for same command

Hello, I am running below command as root user #nodetool cfstats tests | grep "Memtable switch count" Memtable switch count: 12 Where as when I try to run same command as another user it gives different result. #su -l zabbix -s /bin/bash -c "nodetool cfstats tests | grep "Memtable switch... (10 Replies)
Discussion started by: Pushpraj
10 Replies

3. Shell Programming and Scripting

Grep command

grep -i -f panel_genes.txt hg19_refGene.txt > match.txt seems to be pulling names the do not exist in the input file (panel_genes.txt) - the output is attached as well (match.txt) For example, RNF185 or ZNF146 are not genes in the input. I am trying to match the input file genes only and am... (9 Replies)
Discussion started by: cmccabe
9 Replies

4. Shell Programming and Scripting

help on grep command...

Hi I have lots of file in on folder and i want to egrep from only few files. List of files...... Polt_KJ_430_OutputRBS_istUt_CR2.log Polt_KN_4122_OutputRBS_ncChk_CR.log Polt_LN_2230_OutputRNC_Hth_CLKLKL.log Solt_KJ_430_OutputRBS_istUt_CR2.log Solt_KN_4122_OutputRBS_ncChk_CR3.log... (2 Replies)
Discussion started by: asavaliya
2 Replies

5. Shell Programming and Scripting

Grep Command

Hi, I have around 500 Text files and Each file will be having either String1 or String2. I want to list the file only which has String1 and Sting2 in a single command.. (5 Replies)
Discussion started by: balasubramani04
5 Replies

6. Shell Programming and Scripting

Help with using grep command with copy command

Hi, im taking an entry Unix class, and as part of my lab assignment I have to copy all files in the /home/david/lab3 directory that have the file extension .save to your lab3/temp directory. I'm having trouble getting the grep to do anything worth while I've been trying to do: cp... (6 Replies)
Discussion started by: Critical jeff
6 Replies

7. Shell Programming and Scripting

can anyone help with shell script command about searching word with grep command?

i want to search in the current directory all the files that contain one word for example "hello" i want to achieve it with the grep command but not with the grep * (2 Replies)
Discussion started by: aintour
2 Replies

8. UNIX for Advanced & Expert Users

how to exclude the GREP command from GREP

I am doing "ps -f" to see my process. but I get lines that one of it represents the ps command itself. I want to grep it out using -v flag, but than I get another process that belongs to the GREP itself : I would like to exclude # ps -f UID PID PPID C STIME TTY TIME CMD... (2 Replies)
Discussion started by: yamsin789
2 Replies

9. UNIX for Dummies Questions & Answers

grep command

hi all i have directory /usr under this directory i have subdirectories tmp1,tmp2,tmp3 like this /usr/tmp1 /usr/tmp2 /usr/tmp3 and so on i want to search string in files (i don't know the name of the files)and i want to serch it in all the directories under the /usr how shell i do... (3 Replies)
Discussion started by: naamas03
3 Replies

10. Shell Programming and Scripting

grep command

What is the meaning of this grep -v $object grant_BU.sql>temp (1 Reply)
Discussion started by: debasis.mishra
1 Replies
Login or Register to Ask a Question