Provided by: html-xml-utils_7.7-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)