Questo è il file di esempio che verrà utilizzato come origine dati:
codice:
[sergio@winnie ~/tmp]$ cat pagina.html
<html>
        <head>
                <title>prova</title>
        </head>
        <body>
                <div id="navigation">
                        <ul>[*]Home[*]Info[*]Modulo Informazioni[*]Corsi[*]Cos'&egrave l'ECDL[*]Convenzioni[*]Progetti[*]Software[*]Calendario[*]Annunci di lavoro[*]Novit&agrave[*]Corsi d'inglese[/list]
                </div>
                


                bla bla bla 

                bla bla bla 

                bla bla bla 

                </p>
                <div if="footer">
                        


                        testo di chiusura
                        </p>
                        <ul>[*]Novit&agrave[*]Corsi d'inglese[/list]
                </div>
        </body>
</html>
Questa la riga di comando (spezzata per non rovinare il layout del forum):
codice:
[sergio@winnie ~/tmp]$ sed -e '/<div id="navigation">/,/<\/div>/\
                       s%[/list]%[*]Corsi di SED by cacao74\n&%'\
                       pagina.html
Questo il risultato restituito su STDOUT:
codice:
<html>
        <head>
                <title>prova</title>
        </head>
        <body>
                <div id="navigation">
                        <ul>[*]Home[*]Info[*]Modulo Informazioni[*]Corsi[*]Cos'&egrave l'ECDL[*]Convenzioni[*]Progetti[*]Software[*]Calendario[*]Annunci di lavoro[*]Novit&agrave[*]Corsi d'inglese
[*]Corsi di SED by cacao74[/list]
                </div>
                


                bla bla bla 

                bla bla bla 

                bla bla bla 

                </p>
                <div if="footer">
                        


                        testo di chiusura
                        </p>
                        <ul>[*]Novit&agrave[*]Corsi d'inglese[/list]
                </div>
        </body>
</html>
Breve descrizione:
Il comando sed, sostituisce il tag "[/list]" con il tag per il nuovo link ed un tag di chiusura per la lista. La sostituzione avviene solamente nell'area indicata, ovvero la div con id=navigation.
Aggiungo, che se al posto di
sed -e <regole> file.html ...
si specifica
sed -i -e <regole> file.html ...
le operazioni di sostituzione avvengono direttamente nei file indicati, senza alcun output, ideale quindi per scripts di manutenzione.
Io l'ho testato cosi' in una directory con i files html:
$ sed -i -e <regole> *.html
e il file risultano modificati come sopra indicato.
Ora, dovendo operare la sostituzione su diverse pagine, puoi scegliere le modalità che preferisci:
- eseguire lo script in ogni directory per i file *.html
- utilizzando find nelle directory interessate
- ...
Chiedo scusa per le vaccate che dico in ambito HTML, ma non sono un tecnico web.

Spero di non aver fatto errori con il copia&incolla...

Per altre questioni...man sed

ciao