gerar tabela html de conteúdo de vários arquivos html

1

Esta não é especificamente uma questão do Linux. Mas eu queria saber se posso fazer isso em BASH. Eu tenho vários arquivos HTML em uma pasta e quero gerar uma tabela HTML de conteúdo. Então, para file1.html e file2.html , quero gerar um arquivo como este:

<html>
   <body>
    <h1>Table of Contents</h1>
    <p style="text-indent:0pt">
       <a href="file1.html">file1</a><br/>
        <a href="file2.html">file2</a><br/>
     </p>
   </body>
 </html>

O processo é simples, mas pode ser entediante e confuso quando você tem mais de dez arquivos com nomes longos. Eu uso a tabela de arquivos de conteúdo para converter os arquivos HTML para um formato de ebook usando o Calibre. Se isso puder ser feito automaticamente, economizará muito trabalho.

Obrigado pelo seu tempo. Qualquer ajuda seria apreciada.

    
por Joenikushimi 08.11.2017 / 16:49

1 resposta

0

Crie um arquivo com o seguinte conteúdo:

#!/bin/sh
echo "<html>"
echo "   <body>"
echo "    <h1>Table of Contents</h1>"
echo "    <p style=\"text-indent:0pt\">"
for fil
do
    echo "       <a href=\"$fil\">${fil%.html}</a><br/>"
done
echo "    </p>"
echo "  </body>"
echo "</html>"

Atribua um nome como toc . Digite chmod +x toc , e, em seguida, execute ./toc *.html no diretório onde estão os arquivos. Ele irá escrever o Índice HTML para a saída padrão, que você pode, obviamente, redirecionar para um arquivo.

    
por 09.11.2017 / 04:16