Cómo manipular archivos HTML y XML desde la línea de comandos

El World Wide Web Consortium (W3C) dispone de una serie de herramientas gratuitas para ayudar a generar y procesar correctamente los archivos HTML y XML. El paquete HTML-XML es un conjunto de utilidades sencillas para manipular archivos HTML y XML desde la línea de comandos. Está disponible para muchas de las diferentes distribuciones de Linux y puede ser útil para aquellos que tienen que procesar archivos HTML o XML de forma regular.

Para instalar el paquete en Ubuntu, use:

sudo apt-get install html-xml-utils

Hay 31 herramientas en este paquete, aquí está un resumen de lo que pueden hacer:

  • cexport – crea un archivo de cabecera de las declaraciones exportadas desde un archivo C
  • hxaddid – añade ID’s a los elementos seleccionados
  • hxcite- reemplazar las referencias bibliográficas por hipervínculos
  • hxcite-mkbib- ampliar referencias y crear bibliografía
  • hxcopy- copiar un archivo HTML conservando los enlaces relativos
  • hxcount – cuenta elementos y atributos en archivos HTML o XML
  • hxextract – extrae los elementos seleccionados
  • hxclean – aplicar heurística para corregir un archivo HTML
  • hxprune – remueve los elementos marcados de un archivo HTML
  • hxincl- expandir los archivos HTML o XML incluidos
  • hxindex – crea un índice ordenado alfabéticamente
  • hxmkbib – crear bibliografía a partir de una plantilla
  • hxmultitoc- crear una tabla de contenidos para un conjunto de archivos HTML
  • hxname2id- mover algunos ID= o NAME= de los elementos A a sus padres
  • hxnormalize – pretty-print un archivo HTML
  • hxnum – número de encabezados de sección en un archivo HTML
  • hxpipe- convertir XML a un formato más fácil de analizar con Perl o AWK
  • hxprintlinks- number links & add table of URLs at end of an HTML file
  • hxremove- remueve elementos seleccionados de un archivo XML
  • hxtabletrans- transponer una tabla HTML o XHTML
  • hxtoc – inserta una tabla de contenidos en un archivo HTML
  • hxuncdata – reemplazar secciones CDATA por entidades de caracteres
  • hxunent – reemplaza entidades de caracteres predefinidos HTML por UTF-8
  • hxunpipe- convertir la salida de pipe back al formato XML
  • hxun>/»font color=»#fefefe»>font color=»#fefefe»>font color=»#fefefe «#fefefe «#fefefe
    EOF__

    Esto creará un archivo llamado test.html. El HTML pierde algunas de las etiquetas de cierre y está todo escrito en una sola línea. El comando hxnormalize reformateará el archivo y escribirá la versión bonita en la salida estándar (stdout). Así es como se ejecuta el comando:

    hxnormalize -e test.html

    La bandera «-e» indica a hxnormalize que inserte cualquier etiqueta de cierre que falte.

    Cómo manipular archivos HTML y XML desde la línea de comandos

    También puede ejecutar el comando contra una página web reemplazando «test.html» por una URL, por ejemplo:

    hxnormalize http://www.example.com

    El comando hxwls analizará un archivo HTML local o un sitio web, y listará los enlaces dentro del HTML. Por ejemplo:

    hxwls http://www.example.com

    Aquí están las primeras líneas de salida para el sitio web de Make Tech Easier:

    Cómo manipular archivos HTML y XML desde la línea de comandos

    El comando hxtabletrans cambia una tabla para que las filas se conviertan en columnas y las columnas en filas.

    Vamos a crear un archivo HTML con una tabla simple. Seleccione y copie las siguientes líneas y péguelas directamente en una ventana de terminal.

    Jill /fefefe»>>#fefefe
    Smith
    50 50

    DIFUNDE LA PALABRA-
    Jackson
    94 /fefefe»>/fefefe»>/fefefe»>


    EOF__

    El resultado es un archivo llamado table.html. En un navegador web la tabla se vería algo así:

    JillSmith50EveJackson94

    Si ejecuta el comando hxtabletrans, entonces escribirá la tabla transpuesta a la salida estándar. Los resultados pueden ser redirigidos a otro archivo como este:

    hxtabletrans table.html> table2.html

    El nuevo archivo, table2.html, mostrará a Jill Smith y Eve Jackson en columnas, en lugar de en filas como en el original. La tabla resultante será algo así:

    JillEveSmithJackson5094

    La mayoría de los comandos se utilizan de forma similar a los ejemplos anteriores, es decir, es necesario especificar un archivo o URL para procesar y la salida se escribe en el stdout. Pruebe a experimentar con los diferentes comandos, ya que pueden serle útiles.

    Si tiene alguna pregunta sobre las utilidades HTML-XML, no dude en hacerla en los comentarios que aparecen a continuación y veremos si podemos ayudarle.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *