I have to search and replace a string in a file and I am using the following command in a script.
sed "s/a/b/g" file
All the occurances of a are getting replaced by b except the last line since it does not have a return character at the end of line. If I enter space at the end of last last and
then use the above sed command then it works fine.
I want to know if there is a way I can replace all occurances. Else What is the command that I need to include in my script before the sed command so that I can get that extra space at the end of last line
use line numbers anyway instead of g...
ex ,. try
1,$s/a/b/
if not
use
1,(n)s/a/b/
that should work.. then you need to figure out why the g flag is not working.. it may be that you are not using sed according to the file syntax... it could be you need to do something like this s/\<a\>/b/ i can't see the file so I can't tell you.. try this site for help http://sed.sourceforge.net
moxxx68
Some utilities, like sed, are line-based, i.e they only work on complete lines. So, either add a newline to the last line, as bhargav suggests, but if you only want to do simple character translation, then consider using tr, which works on any file, e.g...