Dudas de Programacion » Markup » HyperText Markup Language (HTML)

Modificar muchos html en lote

(8 posts)
  1. Hola a todos.
    En primer lugar quiero felicitar el webmaster de la web por la generosidad que demuestra al ofrecer sus conocimientos a todo el mundo.

    Me gustaría plantearos algo que quiero hacer, y que no sé como llevarlo a cabo. Si alguien sabe cómo o puede darme alguna directriz le estaría muy agradecido.

    Seré breve:

    Tengo una gran cantidad de páginas html, supongamos 2.000.
    Y tengo una lista de lineas de código en .txt, supongamos también 2000 lineas.

    Lo que necesito es saber cómo puedo automatizar el trabajo de que se generen, a partir de las 2000 paginas "origen" otras 2000 "destino" en las que la única diferencia es:

    1.html + linea 1 del txt ------> 1.html (nueva html)
    2.html + linea 2 del txt ------> 2.html (nueva html)
    ....
    ....
    ....
    2000.html + linea 2000 del txt----> 2000.html (nueva html)

    En todos los casos la nueva línea se introduciría en el mismo sitio en las respectivas html, por ejemplo, en la línea 108 de las html origen o en algún punto indicado por etiquetas, por ejemplo antes del </body>

    He probado con varios programas que añaden un mismo código en lote a mucha html, pero no me sirve pues en mi caso el código a añadir es una linea distinta para cada html.

    ¿Es esto posible? Me ahorarría muchísimo trabajo, pues realmente no tengo 2000 html que modificar sino varios cientos de grupos entre 500 y 3000 html cada uno de esos grupos.

    ¡Gracias!
    Jose.

    Posted 1 year ago #


  2. Buenas!

    Se me ocurre que puedes hacer un pequeño programa de tratamiento de ficheros, en Java, C++, etc.

    En el que vas leyendo cada linea del fichero .txt y la vas insertando en cada página html en el mismo punto, buscando la etiqueta <body> e insertando justo antes, por ejemplo.

    Hay mucho tutorial de Java sobre Ficheros, te mando alguno:
    http://www.programacion.com/java/tutorial/io/
    http://www.programacion.com/java/tutorial/new2java4/

    Un saludo

    Saludos
    Posted 1 year ago #
  3. Pues muchísimas garcias Torres. Me pongo manos a la obra a devorar los enlaces que me proporcionas.

    Si encuentro la solución no dudaré en contarlo por aquí por si a alguien le sirve de algo.

    Gracias!
    José Ramón.

    Posted 1 year ago #
  4. lineadecodigo
    Member

    @polojr,

    Te puede orientar el artículo de como leer un fichero en Java:
    http://lineadecodigo.com/java/leer-fichero-de-texto-con-java/

    Y de como escribir el fichero:
    http://lineadecodigo.com/java/escribir-en-un-fichero-de-texto-con-java/

    Salu2,
    Linea de Código.
    http://lineadecodigo.com
    Posted 1 year ago #


  5. Muchas gracias lineadecodigo.
    Aunque soy un total ignorante de java no dudaré en intentar aprender.

    Un saludo.

    Posted 1 year ago #
  6. lineadecodigo
    Member

    Y en ASP?

    Crear un fichero - http://lineadecodigo.com/asp/crear-un-fichero-de-texto-con-asp/
    y leer un fichero - http://lineadecodigo.com/asp/leer-un-fichero-de-texto-en-asp/

    ¿En qué lenguaje programas?

    Posted 1 year ago #
  7. fiurer87
    Member

    Hola, quiza la forma mas simple de hacerlo puede ser usando BASH, que viene por defecto en la terminal de LINUX.
    Tendrias que tener el siguiente script y posteriormente ejecutarlo con $ bash ./editorMasivo.sh
    Para este ejemplo voy a poner las siguientes caracteristicas:
    - Existen 5 archivo html, nombrados de la siguiente manera 1.html, 2.html, ... 5.html
    - Existe un archivo de texto llamado texto.txt que contiene 5 lineas
    - Cada archivo *.html tiene solo 5 lineas de codigo.
    - La linea 1 del archivo texto.txt se agregara despues de la linea 1 de 1.html
    - La linea 2 del archivo texto.txt se agregara despues de la linea 2 de 2.html
    - ....
    Bueno menos palabras y mas accion, aqui te dejo el codigo para el script.
    Nota: el script, el texto y los html deben de estar en la misma carpeta.
    =============================
    [CODE]
    #!/bin/bash
    #autor: Luis Roberto Perez
    num=0;
    cantHtml=5
    lineasDeHtml=5
    lineasDeTexto=5

    archivo="texto.txt"

    for num in $(seq 1 $cantHtml); do
    head -n $num $num.html > /tmp/temporal
    head -n $num $archivo > /tmp/aux
    tail -n 1 /tmp/aux >> /tmp/temporal
    tail -n $(($lineasDeHtml-$num)) $num.html > /tmp/temporal2
    cat /tmp/temporal /tmp/temporal2 > $num.html
    done
    [/CODE]
    =====================================

    Espero sea de utilidad

    Posted 1 year ago #


  8. fiurer87
    Member

    Arreglos;
    1. Para correr solo debes hacer: $ bash editorMasivo.sh
    2. [CODE] no es necesario, solo pense que este sitio lo soportaba.

    Posted 1 year ago #

Reply

You must log in to post.

935 posts in 394 topics over 36 months by 349 of 787 members. Latest: Balkirium, redundantlogic2, shianim

Acerca de...

Dudas de Programación es una Web, dentro del proyecto aulambra.com que nace con la idea de propocionar un foro de consultas sobre diferentes temas de programación. Orientado a ayudar a los internautas hispano-hablantes en Internet.

Ir al Blog de Linea de Código

Otras Webs