sed replace is giving me sore thumbs


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
sed replace is giving me sore thumbs

I want to replace only the exact match of string inside the file with another value during the run time.

So,
I have a file filename.txt
where contents are:

Code:
version="1.0.7", 
url="https://google.com/_api/version=GBMaster"

now in my script
I have variable and tried to replace the value of that variable in version line with double quotes and comma.

Code:
new_version="1.0.7.1234567"
sed -i -e "s/version=.*/version="""$new_version""",/g"  filename.txt

the above kind of working, but it also replace the version in url and also not adding (double quotes) like below
Code:
version=1.0.7.1234567, 
url="https://google.com/_api/version=1.0.7.1234567"

I tried a lot variety of seds to make sure my file should only replace version= in version line not in URL.
that includes \< \> or ^. None of them are working.

I would like my o/p to be like below after sed
Code:
version="1.0.7.1234567", 
url="https://google.com/_api/version=GBMaster"

--- Post updated at 08:09 AM ---

never mind, guys fixed it.

Last edited by manas_ranjan; 1 Week Ago at 10:11 AM.. Reason: found the solution looking for.
# 2  
Please share with us your final working code.

Thanks.
# 3  
The fixes are ^version to require the beginning of the line, and \" for a " within " ".
Short solutions:
Code:
sed "s/^\(version=\).*/\1\"$new_version\",/"  filename.txt

Code:
sed "/^version=/ s/=.*/=\"$new_version\",/"  filename.txt

# 4  
it was with quotes, that's why was not showing it properly.
below one is the working one:
unless you have something else in mind.
Code:
sed -i -e "s/version=\"[[:digit:].]*/version=\"$new_version/g"

Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #909
Difficulty: Easy
In computer science, a pointer is a programming language object that stores the memory address of another value located on a hard drive.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed and awk giving error ./sample.sh: line 13: sed: command not found

Hi, I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./sample.sh: line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

2. Shell Programming and Scripting

sed -i option giving error no such file or directory

I created a shell with sed -i option. It is giving error - No such file or directory Ex - sed -i 's/yes/no' yes.txt sed -i 's/why/where' yes.txt sed -i 's/when/how' yes.txt Error - :No such file or directory When I run single line in my script say sed -i 's/yes/no' yes.txt... (10 Replies)
Discussion started by: yahoo
10 Replies

3. Shell Programming and Scripting

sed replace?

Hello. I have this file: XXXX 1 AAAA 2 BBBB 3 CCCC 4 DDDD YYYY 1 AAAA 2 BBBB 3 CCCC 4 DDDD Desired output: XXXX AAAA XXXX BBBB XXXX CCCC XXXX DDDD YYYY AAAA (5 Replies)
Discussion started by: jimmyf
5 Replies

4. Shell Programming and Scripting

Sed in vi - \r and \n not giving desired results

I use many different machines at work, each with different versions of o/s's and installed applications. Sed in vi is particularly inconvenient in the sense that sometimes it will accept the "\r" as a carriage return, sometimes not. Same thing with "\n". For instance, if I have a list of hosts... (7 Replies)
Discussion started by: MaindotC
7 Replies

5. UNIX for Dummies Questions & Answers

SED Replace

I'm trying to change a "." in a file name with a "_" I have tried; sed -e 's/./_/g' However this then replaces the entire filename with a load of "_" For example; ls /usr/local/feed/service/customers/test1/configs/test1.httpsend | awk -F/ '{print $9}' | tr "" "" | sed -e "s/./_/g" ... (2 Replies)
Discussion started by: JayC89
2 Replies

6. Shell Programming and Scripting

Sed help with replace

phx,v3apilw2core,app-usage,05-03-2010, phx,tr(white,wavern), 2,1 I need help with the sed command to remove the text in red from the line above, including braces. I tried the following two approaches:- sed '/(/,/)/ !d' test.txt | more sed "/(/,/)/ !d" test.txt | more (1 Reply)
Discussion started by: smee
1 Replies

7. Shell Programming and Scripting

How to use sed to replace the a string in the same file using sed?

How do i replace a string using sed into the same file without creating a intermediate file? (7 Replies)
Discussion started by: gomes1333
7 Replies

8. UNIX for Dummies Questions & Answers

Delete files Recursively *thumbs*.jpg

Greetings, I need to delete all files that contain the word thumbs. Those files are spread all throughout sub-directories in a file directory tree. Is there a script or single line command that will find all files with the word thumbs, and simply delete the file? For example: Delete... (4 Replies)
Discussion started by: ..Chris..
4 Replies

9. Shell Programming and Scripting

How to replace using SED?

Hi, I want to change a particular string in a file with another string. This is part of a larger script file. I m using SED for this purpose: sed -e 's/hostname.domainname/${HOST}.${DOMAIN}/g' $sed_file>$tmp_file Where the occurance hostname.domainname has to be replaced with the... (4 Replies)
Discussion started by: mahatma
4 Replies

Featured Tech Videos