On Thu, Jul 21, 2016 at 3:00 PM, bruce <badouglas@xxxxxxxxx> wrote: > Hey guys.. > > Sed question.. should be simple, but after stack/net searches, lots or > trials.. can't seem to get it.. > > I've got a case > > foo('txt') > foo("txt") > > I'd like to have > > foo('/dir1/txt') > foo("/dir1/txt") > > Now. I do a simple sed search/replace if it just focuses on the txt, but > crafting a sed that uses the entire input as a search due to the parens '()' > is a bit painful! Doing the sed using the \( for the ( wasn't quite > successful! > > for just the txt.. > > sed -i 's/'txt'/'dir1/txt'/' *files.dat > sed -i 's/"txt"/"dir1/txt"/' *files.dat > > these work... > > any thoughts on how to handle the parens would be cool! > > just irks me that I couldn't see what I missed. > > thanks! Try like this: cat /tmp/1.txt foo('/dir1/txt') sed -e 's#'txt'#'dir1/txt'#' /tmp/1.txt foo('/dir1/dir1/txt') Or: sed -e 's/'txt'/'dir1\\/txt'/' /tmp/1.txt You need to escape the / in the replacement string. -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://lists.fedoraproject.org/admin/lists/users@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines Have a question? Ask away: http://ask.fedoraproject.org