http://qs321.pair.com?node_id=56231


in reply to converting absolute to relative links

Maybe I am missing something, but why won't a simple "Find and Replace" within a text editor?

I use BBEdit on a Mac for coding, and it is as simple as finding:

src="myserver.com/images/

and replacing with:

src="../images/

or whatever is the correct path. You can perfoem this across multiple files/directories with specific suffixes so that you can zero in on the exact files that need the change.

I don't code on a PC, but I am sure that there must be as powerful a search and replace function on one of the text/code editors.

  • Comment on Re: converting absolute to relative links

Replies are listed 'Best First'.
Re: Re: converting absolute to relative links
by marius (Hermit) on Feb 03, 2001 at 22:06 UTC
    A text editor substitution works well when you have 1-5 files. Suppose that the monk in question is dealing with a webserver that serves 500 documents with this problem. Perl /is/ your friend. (Of course, this brings about the template argument, but we'll save that for another day.. =])

    -marius
      I am speaking as a relative newcomer to Perl. So with all respect I can say that I have used BBEdit to do a "Find and Replace" on over 100 files in multiple directories. It is fast (~5 files a second), accurate on changes to a small number of characters (15-20 charaters at a time), and will provide a summary of changes as well as automatically save or allow you to manually save.

      By the way, I have no conection to BBEdit in any shape or form.

        Try
        perl -pi.bak -e 's-src=("?)myserver.com/images/-src=$1../images/-g' *. +html
        Our definitions of fast may differ.

        Also note how easily I made the substitution just slightly more flexible.

        Of course for a summary of changes I usually just use:

        cvs diff | less
        (Source control is your friend!)
        Neat! I'm used to dealing with editors that do single file search and replaces as opposed to glob() style search and replaces. Didn't realized BBEdit would do that. The confirmation summary is insteresting as well. Thanks for the info! (I've no official connection to perl, but I would still use it ;) )

        -marius