sed help

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

i do some like this ...

echo "" >> file1 puts the new line at the end of the file.

$ cat abcd.txt
abcde
abdcrewuroewr
abababbaaba
abbabbaba$ echo "" >> abcd.txt
$ cat abcd.txt
abcde
abdcrewuroewr
abababbaaba
abbabbaba
$ sed '${$a \ }' abcd.txt
$ sed 's/a/b/g/ abcd.txt
>
$ sed 's/a/b/g' abcd.txt
bbcde
bbdcrewuroewr
bbbbbbbbbbb
bbbbbbbbb
$

Sry for the disordered previous post

$ cat abcd.txt
abcde
abdcrewuroewr
abababbaaba
abbabbaba$ echo "" >> abcd.txt
$ cat abcd.txt
abcde
abdcrewuroewr
abababbaaba
abbabbaba
$ sed 's/a/b/g' abcd.txt
bbcde
bbdcrewuroewr
bbbbbbbbbbb
bbbbbbbbb

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

tr 'a' 'b' < file1 > file2

Thanks buddies. Really appreciate your help. Both the suggestions; appending space and tr command work fine for me.