> i agree with that - the underscore that was used is also valid. you > might look at proper quoting of variables to avoid this. something > like cat text.txt | sed -e 's/bbb.*/bbbb:"$PWD"/' > new.txt
The output from that, given Joao's original text.txt, is aaaa bbbb:"$PWD" cccc The reason is that " and $ have no special effect inside ''. I would prefer to use some other character for the s command delimiter as earlier posters in this thread suggested, because it is easier to read. But another way you can do it is to escape all the backslashes in $PWD using a shell expansion: $ sed "s/bbbb.*/bbbb:${PWD//\//\\/}/" text.txt aaaa bbbb:/home/clive/temp cccc You can see its effect on the string passed to sed using set -x: $ (set -x; sed s/bbbb.*/bbbb:${PWD//\//\\/}/ text.txt) + sed 's/bbbb.*/bbbb:\/home\/clive\/temp/' text.txt A brief explanation of ${PWD//\//\\/} :- ${PWD//A/B} replaces all occurrences of pattern A with string B. For A use \/ - the \ prevents / being treated as a delimiter. For B use \\/ - the first \ causes the second \ to be taken literally. I hope this helps. -- Cheers, Clive -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110319144616.ga3...@rimmer.esmertec.com