Manipular archivos HTML y XML desde la línea de comandos

Manipular archivos HTML y XML desde la línea de comandos

El World Wide Web Consortium (W3C) tiene una serie de herramientas gratuitas disponibles para ayudar con la correcta generación y procesamiento de archivos HTML y XML. los Paquete HTML-XML es un conjunto de utilidades simples 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í hay un resumen de lo que pueden hacer:

  • cexport: crea un archivo de encabezado de declaraciones exportadas desde un archivo C
  • hxaddid: agrega ID a los elementos seleccionados
  • hxcite- reemplaza las referencias bibliográficas por hipervínculos
  • hxcite-mkbib- expandir referencias y crear bibliografía
  • hxcopy: copia un archivo HTML conservando los enlaces relativos
  • hxcount: cuenta elementos y atributos en archivos HTML o XML
  • hxextract – extrae los elementos seleccionados
  • hxclean: aplica heurística para corregir un archivo HTML
  • hxprune: elimina los elementos marcados de un archivo HTML
  • hxincl: expande los archivos HTML o XML incluidos
  • hxindex: crea un índice ordenado alfabéticamente
  • hxmkbib: crea bibliografía a partir de una plantilla
  • hxmultitoc: crea una tabla de contenido para un conjunto de archivos HTML
  • hxname2id- mueve algunos ID= o NAME= de los elementos A a sus padres
  • hxnormalize – bastante-imprime un archivo HTML
  • hxnum: encabezados de sección de números en un archivo HTML
  • hxpipe: convierta XML a un formato más fácil de analizar con Perl o AWK
  • hxprintlinks: numere los enlaces y agregue una tabla de URL al final de un archivo HTML
  • hxremove: elimina los elementos seleccionados de un archivo XML
  • hxtabletrans- transponer una tabla HTML o XHTML
  • hxtoc: inserta una tabla de contenido en un archivo HTML
  • hxuncdata: reemplaza las secciones de CDATA por entidades de caracteres
  • hxunent: reemplaza las entidades de caracteres predefinidas de HTML a UTF-8
  • hxunpipe: convierte la salida de la tubería a formato XML
  • hxunxmlns: reemplaza los «nombres globales» por prefijos de espacio de nombres XML
  • hxwls: lista de enlaces en un archivo HTML
  • hxxmlns: reemplaza los prefijos de espacio de nombres XML por «nombres globales»
  • asc2xml, xml2asc- convertir entre UTF8 y entidades
  • hxref – generar referencias cruzadas
  • hxselect: extrae elementos que coincidan con un selector (CSS)

Para presentarle el poder de este conjunto de herramientas, aquí hay algunos ejemplos de cómo usaría algunos de los comandos.

Los «hxnormalizeEl comando reformateará un archivo HTML para que sea fácil de leer y esté bien formateado. Para probar este comando, crearemos un HTML feo. Seleccione y copie las siguientes líneas y péguelas directamente en una ventana de terminal.

cat > test.html << __EOF__
<html><body><p>hello</html>
__EOF__

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

El indicador «-e» le dice a hxnormalize que inserte cualquier etiqueta de cierre que falte.

hxnormalizar

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

hxnormalize https://www.example.com

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

hxwls https://www.example.com

Estas son las primeras líneas de salida del sitio web Make Tech Easier:

lxwls

los hxtabletrans El comando 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 luego péguelas directamente en una ventana de terminal.

cat > table.html << __EOF__
<table>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
__EOF__

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

Jill Herrero 50
Víspera jackson 94

Si ejecuta el hxtabletrans comando, luego escribirá la tabla transpuesta a la salida estándar. Los resultados se pueden redirigir 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 filas como en el original. La tabla resultante será algo como esto:

Jill Víspera
Herrero jackson
50 94

La mayoría de los comandos se usan de manera similar a los ejemplos anteriores, es decir, debe especificar un archivo o URL para procesar y la salida se escribe en la salida estándar. Intente experimentar con los diferentes comandos, ya que puede encontrarlos útiles.

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

Deja un comentario

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

Experto Geek - Tu Guía en Tendencias Tecnológicas