grep sed


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers grep sed
# 1  
Old 11-05-2005
grep sed

OK, I am trying to become more familiar with grep and sed.

I have a file that is storing some records. I am allowing a user to
search for a keyword in the file with this:
Code:
grep -i "$keyword" testFile|sed -n -e  's/^/\
                        /' -e 's/:/\
                        /gp'

I am trying to narrow the search down to one particular record with this:
Code:
cat<<here
Please enter the record number of the particular
record to display.
here

read number

record=`sed -n ${number}p testFile`

echo $record

grep -i "$record" testFile|sed -n -e 's/^/\
                        /' -e ;s/:/\
                        /gp'

If I enter the number 2, then all I can get to show up is a comment
that I have on line 2 of this file.

Any suggestions?

Thanks,
Eric
# 2  
Old 11-06-2005
That is exactly what it should do. What line do the records begin on?
# 3  
Old 11-06-2005
The records start on line 25. What I would like to do is to be able to number the records to help narrow down the initial search. For example, if 2 records show up with the same first name, I would like to be able to then allow the user to choose which one by a number. I would like to only display the one the user asks for.

Thanks,
Eric
# 4  
Old 11-06-2005
Depending on your shell could use the output of the grep and sed in a select statement.
# 5  
Old 11-07-2005
I figured it out without a select statement.

Thanks,
Eric
# 6  
Old 11-07-2005
I have made some modifications using some basic commands. I want to allow the user to change a record.

Code:
cat<<here

Please enter the record number of the particular record to change:

here

read number

record=`sed -n ${number}p phonebook`

name=`echo $record|cut -d: -f1`
echo $name

echo Do you want to change the name: "$name"
read answer
if[ "$answer" = "y" ]
then
echo "Please enter new name"
read newname
name=$newname
fi

I am now trying to use the sed command to remove the record (the number the user entered).

I also plan to add the new fields back into the file.

Code:
sed -d '${number}'

This is not right. Any suggestions?

Thanks,
Eric
# 7  
Old 11-07-2005
Quote:
Originally Posted by ericelysia
Code:
sed -d '${number}'

Code:
sed -e '4d' filename > filename.modified
mv filename.modified filename

should delete line number 4 for you. And then save it into filename.modified.

vino
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed and awk usage to grep a pattern 1 and with reference to this grep a pattern 2 and pattern 3

Hi , I have a file where i have modifed certain things compared to original file . The difference of the original file and modified file is as follows. # diff mir_lex.c.modified mir_lex.c.orig 3209c3209 < if(yy_current_buffer -> yy_is_our_buffer == 0) { --- >... (5 Replies)
Discussion started by: breezevinay
5 Replies

2. UNIX for Dummies Questions & Answers

Help with sed/grep

Hello Everyone! I'm kind of new to parsing and would like extract a partial part of my nmap scan output so I can convert it to csv/excel: My current file has two types of lines like this: Nmap scan report for dns1 (1.1.1.1) Nmap scan report for dns2 (2.2.2.2) Nmap scan report for 3.3.3.3 ... (3 Replies)
Discussion started by: SarahS
3 Replies

3. Shell Programming and Scripting

Help with sed/grep

Hi, I have a file with reoccurring patterns and I want extract the 3rd line after the match, then delete another pattern from that third line. For example the file is in the following format: Hello Name: Abc Number: 123 Hello Name: FQE Number: 543 This occurs more than 100... (4 Replies)
Discussion started by: wsn
4 Replies

4. Linux

sed and grep

I am stranded with a problem. Please solve. How will you remove blank lines from a file using sed and grep? ( blank line contains nothing or only white spaces). I run the below commands of sed and grep but grep isn't giving output as desired. Why? sed '/^*$/d' blank grep -v "^*$" blank... (3 Replies)
Discussion started by: ravisingh
3 Replies

5. Shell Programming and Scripting

sed/tr/grep help

So I have a html file with a bunch of words inside tags and I need to extract just the words, and I'm not sure exactly what the best way to do this is. The format is as follows: <tr> <td>word 1</td> <td>word 2</td> </tr> And all I want to extract is the 'word 2'. First I tried... (3 Replies)
Discussion started by: flightskoo
3 Replies

6. Shell Programming and Scripting

help with SED + GREP

HI all, i have a line in a file it contains Code: one;two_1_10;two_2_10;two_3_10;three~ now i need to get the output as Code: one;two_1_abc_10;two_2_abc_10;two_3_abc_10;three~ ( 1 should be replaced with 1_abc for two__abc_10 , and one more thing the number of occurances of... (6 Replies)
Discussion started by: 2001.arun
6 Replies

7. UNIX for Dummies Questions & Answers

sed or grep?

hello everybody! I have a html file which is not properly formatted meaning that the whole content is in one line. I want to to cut out certain parts of that file. Those parts are between ' #" ' and ' " ' and always start with ' sec_ ' and after the ' sec_ ' any number of characters and ' _... (2 Replies)
Discussion started by: MastaFue
2 Replies

8. UNIX for Dummies Questions & Answers

Grep or Sed

Hi All, I have created a bourne script that basically wants to split a file up in to different parts. I have this working if the file has all the information on different lines but if it doesn't then it doesn't work. i.e. If this is the file hello 12345 good bye 6789 I could grep all the... (5 Replies)
Discussion started by: jazz8146
5 Replies

9. Shell Programming and Scripting

using sed to grep

I have a file that contains many instances of double dollar signs. I want to use sed to get the first occurrence. for example, given the following data. #Beginning of file AB 34 $$ AB $$ AB 98 $$ I only want to pull out: AB 34 $$ (1 Reply)
Discussion started by: wxornot
1 Replies

10. UNIX for Dummies Questions & Answers

SED and it used with | and grep

I am really lost I don't know what this line does. Please help I'm very lost. Thanks in advance. cat CPROGRAMS.c |sed 's// /g'|tr ' ' '\012' |grep '' |sed 's/^*/ /' |grep '($'|sort -u|tr -d "("` (4 Replies)
Discussion started by: Lem2003
4 Replies
Login or Register to Ask a Question