Visit Our UNIX and Linux User Community


Sed scripting, match text within line and replace


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sed scripting, match text within line and replace
# 1  
Old 08-10-2009
Sed scripting, match text within line and replace

New to sed...
Have a file foo.txt (below).
Need to replace text on 2 lines, but can only feed sed the first few characters of each line (all lines are unique).
So, in my example, I have put '$' in place of what I need to figure out how to feed the whole line.

What I have thus far:
Code:
sed -e 's/LA$/LA=2345/g' -e 's/LA1$/LA1=7789' foo.txt

foo.txt:
Code:
LA=1234
LA1=23456
LA2=1987

Thanks, this board is wonderful.
Yes, I do search before posting.

---------- Post updated at 06:24 PM ---------- Previous update was at 06:12 PM ----------

May have answered my own question...

Code:
sed -e 's/LA=[a-zA-Z0-9]/LA=2345/g' -e 's/LA1=[a-zA-Z0-9]
/LA1=7789' foo.txt

Best way?

May be characters after, so that is why I did the a-z and A-Z.

Last edited by boolean2222; 08-10-2009 at 07:25 PM.. Reason: forgot '=' sign
# 2  
Old 08-10-2009
(Ignore)
# 3  
Old 08-11-2009
If I understood you, I think you are trying to do this:
Code:
sed -e 's/LA=[[:alnum:]]*/LA=2345/'  -e 's/LA1=[[:alnum:]]*/LA1=7789/'

# 4  
Old 08-11-2009
Perfect, thank you!
# 5  
Old 08-11-2009
Quote:
Originally Posted by edidataguy
If I understood you, I think you are trying to do this:
Code:
sed -e 's/LA=[[:alnum:]]*/LA=2345/'  -e 's/LA1=[[:alnum:]]*/LA1=7789/'

Sorry, I forgot. One minor change:
Code:
sed -e 's/^LA=[[:alnum:]]*/LA=2345/'  -e 's/^LA1=[[:alnum:]]*/LA1=7789/'

# 6  
Old 08-12-2009
Any idea what I am doing wrong here?

Getting these errors:
unexpected EOF while looking for matching `"'
syntax error: unexpected end of file

Code:
THUMB=123
THUMB1=234

for file in `echo /etc/files/files/*`	
do
sed -e 's/^LA=[[:alnum:]]*/$THUMB/' -e 's/^LA1=[[:alnum:]]*/$THUMB1/' $file
done

# 7  
Old 08-13-2009
Try:
Code:
for file in /etc/files/files/*


Previous Thread | Next Thread
Test Your Knowledge in Computers #833
Difficulty: Medium
YAML version 1.2 is a superset of JSON.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed : replace Nth match in a file

I have a situation where a file "config.txt" looks like this Servername: OS: Serername: OS: Servername: OS: .... .... ... Servername: OS: looking for the sed syntax to replace the "Nth" occurrence of Servername (i would apply the same logic to OS as well), want to replace the Nth... (4 Replies)
Discussion started by: alldbest
4 Replies

2. Shell Programming and Scripting

Need help with sed to match and replace a string

friends I am struck in a situation where I need to comment a line start with space as below in a file root@LOCALHOST * rw LOCALHOST* r I should comment second line only Any help please (16 Replies)
Discussion started by: mallak
16 Replies

3. Shell Programming and Scripting

Match a char with duplicates in a line and replace one of them

Hi, i have a huge file that need to check for a pattern that occur more than once in a line like below:- #lkk>cd-m>A0DV0>192.134.1.1 blablabladsdjsk jshdfskfslfs #lqk>cd-m>A1SV0>192.14.11.1 blalalbnalablab balablablajakjakjakja #pldqw>sf-w>PH67FR>168.55.1.1 balablabala... (5 Replies)
Discussion started by: redse171
5 Replies

4. Shell Programming and Scripting

Replace second match+awk/sed

I have a text file that looks like this: ----------------------------------------- sta WP00 time 10/23/2013 20:10:17 sensor trillium_240_2 0 583 add close sensor trillium_240_2 10/23/2013 20:10:17 sensor trillium_120 0 279 add close sensor trillium_120 10/23/2013 20:10:35... (11 Replies)
Discussion started by: klane
11 Replies

5. Shell Programming and Scripting

sed Character match and replace

Hello All I am struck in the issue which I want to share with all of you. What I am trying to do is For every line in a file I have to replace a particular character from the given character in a file For Example Suppose the data is 1111x2222 1111x2222 2222y3333 1111x2222 I... (4 Replies)
Discussion started by: adisky123
4 Replies

6. Shell Programming and Scripting

I need to know how to replace a line after a pattern match with an empty line using SED

Hi How Are you? I am doing fine! I need to go now? I will see you tomorrow! Basically I need to replace the entire line containing "doing" with a blank line: I need to the following output: Hi How Are you? I need to go now? I will see you tomorrow! Thanks in advance.... (1 Reply)
Discussion started by: sags007_99
1 Replies

7. Shell Programming and Scripting

SED to replace exact match, not first occurrence.

Lets say I have file.txt: (Product:Price:QuantityAvailable) (: as delimiter) Chocolate:5:5 Banana:33:3 I am doing a edit/update function. I want to change the Quantity Available, so I tried using the SED command to replace 5, but my Price which is also 5 is changed instead. (for the Banana... (13 Replies)
Discussion started by: andylbh
13 Replies

8. UNIX for Dummies Questions & Answers

match a character in a line and replace

Hi, I have a file with large number of records. Sample below: 123456789QWERT2U 2 erter 987123678ZXCVB6Y 5 7689 934567123GHJKUI4O 7 - -- -- I want the 16th character in each record to be replaced with the below as follows;so 2 will become K, 6 will become O and 4 will become... (3 Replies)
Discussion started by: er_ashu
3 Replies

9. Shell Programming and Scripting

sed - Replace Line which contains the Pattern match with a new line

I need to replace the line containing "STAGE_DB" with the line "STAGE_DB $DB # database that contains the table being loaded ($workingDB)" Here $DB is passed during the runtime. How can I do this? Thanks, Kousikan (2 Replies)
Discussion started by: kousikan
2 Replies

10. UNIX for Dummies Questions & Answers

Replace text in match files

Hi all, I want to replace text 'DEF' for those files containing text 'ABC'. I can only locate the files containing text 'ABC', but I don't know how to replace the text 'ABC' with 'DEF'. I use the following command to locate the files containing 'ABC' find . -exec grep -l 'ABC'... (1 Reply)
Discussion started by: wilsonchan1000
1 Replies

Featured Tech Videos