Provided by: html-xml-utils_7.7-1.1_amd64 bug

NAME

       hxcopy - copy an HTML file and update its relative links

SYNOPSIS

       hxcopy [ -i old-URL ] [ -o new-URL ] [ -s ] [ -v ] [ file-or-URL [ file-or-URL ] ]

DESCRIPTION

       The  hxcopy  command  copies  its  first  argument  to its second argument, while updating
       relative links. The input is assumed to be HTML or XHTML and may be  slightly  reformatted
       in the process.

       If  the  second  argument  is  omitted, hxcopy writes to standard output. In this case the
       option -o is required. If the first argument is also omitted, hxcopy reads  from  standard
       input. In this case the option -i is required.

OPTIONS

       The following options are supported:

       -i old-URL
                 For  the  purposes of updating relative links, act as if old-URL is the location
                 from which the input is copied. If this option is omitted, the  actual  location
                 of the first argument is used for calculating relative links.

       -o new-URL
                 For  the  purposed of updating relative links, act as if new-URL is the location
                 to which the input is copied. If this option is omitted, the actual location  of
                 the second argument is used for calculating relative links.

       -s        Also  replace  links  to  self.  This effects the treatment of empty URLs, i.e.,
                 links to the document itself that do not explicitly name the  document.  Without
                 -s,  implicit  links  to  the  document  itself  (href=""), to a fragment of the
                 document  itself  (href="#foo")  or  to  a  query  over  the   document   itself
                 (href="?query")  are  not changed and will thus refer to (a fragment of) the new
                 document. With -s, these links are rewritten to refer to (a fragment of) the old
                 document instead.

       -v        Print the version number and exit immediately.

ENVIRONMENT

       To  use  a  proxy  to  retrieve remote files, set the environment variables http_proxy and
       ftp_proxy.  E.g., http_proxy="http://localhost:8080/"

BUGS

       Unlike the last argument of cp(1), the last argument of hxcopy  must  be  a  file,  not  a
       directory.

       The second argument must be a local file. Writing to a URL is not yet implemented. To work
       around  this,  replace  hxcopy  file.html  http://example.org/file.html   by   hxcopy   -o
       http://example.org/file.html  file.html tmp.html and then upload tmp.html to the given URL
       with some other command, such as curl(1).  The first argument,  however,  may  be  a  URL.
       hxcopy will download the given file. (Currently only HTTP is supported.)

EXAMPLE

       Assume  the  HTML  file  foo.html contains a relative link to "../bar.html". Here are some
       examples of commands:

       hxcopy foo.html bar/foo.html
              The  file  foo.html  is  copied  to  ../bar/foo.html  and  the  relative  link   to
              "../bar.html" becomes "../../bar.html".

       hxcopy foo.html ../foo.html
              The  file  foo.html is copied to ../foo.html and the relative link to "../bar.html"
              is rewritten as "bar.html".

       hxcopy -i http://my.org/dir1/foo.html -o http://my.org/foo.html file1.html file2.html
              The file file1.html is copied to file2.html and the relative link to  "../bar.html"
              is  rewritten as "bar.html". A command like this may be useful to update files that
              are later uploaded to a server.

SEE ALSO

       cp(1), curl(1), hxwls(1)