sed replace is giving me sore thumbs


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sed replace is giving me sore thumbs
# 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; 11-08-2019 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 #11
Difficulty: Medium
IBM chose the name System/360 (or S/360) because it was one of the first computers to focus on graphics processing.
True or False?

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sed Replace

I have a file whose output words are always like this: aaaa bbbb cccc dddd. Trying to arrange the data so that there are 2 columns such that the 1st word become the 1st column like this: aaaa aaaa aaaa bbbb aaaa cccc aaaa dddd Trying to use awk... (8 Replies)
Discussion started by: jimmyf
8 Replies

2. 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

3. 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

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. 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

6. UNIX for Dummies Questions & Answers

sed - how to replace ' with \'

Hello, I have problem I can't solve. My task is to replace all apostrophes in my music library eg. I'm free to I/'m free I can select ' (apostrophe), but I can't find "to" section.. '/ echo "I'm free" | sed 's/'\''/what_shell_i_put_here/g' many thanks in advance, peter (3 Replies)
Discussion started by: piogac6088
3 Replies

7. Shell Programming and Scripting

Loop with sed command to replace line with sed command in it

Okay, title is kind of confusion, but basically, I have a lot of scripts on a server that I need to replace a ps command, however, the new ps command I'm trying to replace the current one with pipes to sed at one point. So now I am attempting to create another script that replaces that line. ... (1 Reply)
Discussion started by: cbo0485
1 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

using sed to replace ' with `

Dear All, I am writting a shell script program on AIX server version 5.3 in which I am doing cleaningprocess for files in which I am trying to replace ' with ` . and for this I am using following command: sed -e 's//$/g' -e 's/\\/\//g' -e 's/'/`/g' $file >>... (2 Replies)
Discussion started by: mr_dba01
2 Replies

Featured Tech Videos