sed replacement inplace


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers sed replacement inplace
# 1  
Old 01-14-2016
Wrench sed replacement inplace

I need to make permanent changes in the file after find and replace using sed.
for this i am using
Code:
sed -i

However this is not working. says
sed: illegal option -- i


I am working on Sun Solaris
HTML Code:
uname -a
SunOS aspsun14 5.10 Generic_150400-13 sun4u sparc SUNW,SPARC-Enterprise
any other work around please ?

Last edited by gotamp; 01-14-2016 at 03:30 AM.. Reason: information was not proper
# 2  
Old 01-14-2016
Redirect sed output to a temp file and rename it to source file like

Code:
sed ... sourceFile > tempFile
mv tempFile sourceFile

# 3  
Old 01-14-2016
Quote:
Originally Posted by anbu23
Redirect sed output to a temp file and rename it to source file like

Code:
sed ... sourceFile > tempFile
mv tempFile sourceFile

If the sed command fails, the above suggestion will destroy the input file.
Code:
sed ... sourcefile > tmpfile && cp tmpfile sourcefile && rm -f tmpfile

will only replace sourcefile if the sed succeeded and it will preserve permissions and links to sourcefile (which might not be important unless there are multiple hard links to sourcefile or the permissions on sourcefile are different from what will be set with your current umask setting).

Last edited by Don Cragun; 01-14-2016 at 04:56 AM.. Reason: Fix typo: s/your what/what/
These 2 Users Gave Thanks to Don Cragun For This Post:
# 4  
Old 01-14-2016
Quote:
Originally Posted by gotamp
However this is not working. says
sed: illegal option -- i
This is because -i is a GNU specialty which is not supported with POSIX-compatible versions of sed. It is generally better to avoid such constructs and stick to what the standards offer.

I hope this helps.

bakunin
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed text replacement

Hello, I'm using Bash and Sed to replace text within a text file (1.txt) twice in one script. Using a for loop I'm initially replacing any 'apple' words with the variable 'word1' ("leg). I'm then using another for loop to replace any 'apple' words with the variable 'word2' ("arm"). This task is... (2 Replies)
Discussion started by: Flip-Flop
2 Replies

2. Shell Programming and Scripting

sed replacement error

Hi ,"environment":"accent-release","build":"ac-1112_c_Alph_Nop-release_rele-1112_c_Alph_Nop-release_rele","tags":"" above is the config file, where in i want to replace value after build inside the double quotes... that value i'll be passing as parameter for example if m passing ... (1 Reply)
Discussion started by: nikhil jain
1 Replies

3. Shell Programming and Scripting

SED replacement

Hi, i have a file with lines, file.txt ------- test is fun testing is better I need to replace 'test' to 'develop' and i used, a=test b=develop sed "s,$a,$b,g" -------- but i see the word 'testing' is also replaced. Need some solution. Is there any way i could replace only 'test' ? (4 Replies)
Discussion started by: giri_luck
4 Replies

4. Shell Programming and Scripting

Replacement with sed

I am trying to replace the line which has string "tablespace" not case senstive.... with below simple script: mysrcipt.sh sed "s/.*/TABLESPACE USERS/g" create_table > tmp mv tmp create_table Is there any better way to do it? If Search string tooooooo long it will be tough to code in... (4 Replies)
Discussion started by: ganeshd
4 Replies

5. Shell Programming and Scripting

Help with sed replacement

This seems like it should be an easy problem, but I'm a noob and I can't figure it out. I'm trying to use sed, but would be happy to use anything that does the job. I am trying to trim off a fixed number of unknown characters from 2 different : delimited fields while keeping the intervening... (4 Replies)
Discussion started by: helix_w
4 Replies

6. Shell Programming and Scripting

Need Replacement for sed

Hi Can anyone provide me the replacement of sed with xargs perl syntax for the below sed -e :a -e '/;$/!N;s/\n//; ta' -e 's/;$//' This should be without looping has to take minimal time for search (0 Replies)
Discussion started by: dbsurf
0 Replies

7. Shell Programming and Scripting

Replacement of sed with perl

Hi using the below cmd i am identifying wheether last character in each line in thousands of files as semicolon or not.If last character is semicolon i am removing semicolon .If last character is not semicolon then i am appending next line to present line . For example my input file consists of... (4 Replies)
Discussion started by: dbsurf
4 Replies

8. Shell Programming and Scripting

Complex sed replacement

Hi, I have a file that I would like to translate using sed. I can do some basic sed commands, but Im afraid this level is beyond me. I have this file - ...alter... .. ...65536... ... ...65536... ... ...alter... ... ...65536... etc What I would like to do is replace the first... (11 Replies)
Discussion started by: one_ring99
11 Replies

9. Shell Programming and Scripting

sed / awk - inplace or inline edit

I need to remove the '&' from a file. In each line of the file, the fields are separated by ^K. I only want to remove '&' if it exists in field number 9. (example of field 9: abc&xyz) I need to do an in place/in line edit. So far I have accomplished the following: awk -F '^K' '{print... (6 Replies)
Discussion started by: hemangjani
6 Replies

10. UNIX for Dummies Questions & Answers

Replacement using sed

Hi I have the following file that i need to run a sed command on 1<tab>running 2<tab>running 3<tab>running 4<tab>running I want to be able to replace a line i.e the second one with '2<tab>failed'. As the first number is unique that can be used to search for the relevant line (using ^2 i... (5 Replies)
Discussion started by: handak9
5 Replies
Login or Register to Ask a Question