Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Tux7000
    Registrato dal
    Feb 2008
    residenza
    Milano
    Messaggi
    620

    [Bash] Inserire testo in un punto preciso di un file

    Ciao a tutti, dato il seguente file tmp.html
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
    <head>
    <title>HOME PAGE</title>
    <meta name="generator" content="Bluefish 1.0.7"/>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8"/>
    <meta http-equiv="content-style-type" content="text/css"/>
    </head>
    <body>
    <h1>Oggi è il 2011-09-27</h1>
    
    </body>
    </html>
    ho la necessità di scrivere nel file tmp.html una variabile $string esattamente prima del segnaposto per questo ho scritto uno script Bash che è il seguente:

    codice:
    #!/bin/bash
    tmp="tmp.html"
    a=$(tail -n2 $tmp)
    i=""
    string="\t
    
    Riga 1</p>"
    string+="\n\t
    
    Riga 2</p>"
    string+="\n\t<hr/>"
    sed -i "s|$i|$string|g" $tmp
    sed -i "s|</body>||g" $tmp
    sed -i "s|</html>||g" $tmp
    echo "$i" >> $tmp
    echo "$a" >> $tmp
    g=$(grep . $tmp)
    echo "$g" > $tmp
    diciamo subito che funziona bene ma la mia domanda è: è ortodossa come soluzione o si può migliorare in qualche modo?
    Sono diversi mesi che non utilizzo gli script in Bash e magari mi è sfuggito qualcosa.

    Grazie in anticipo a chi mi vorrà rispondere.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    1) se funziona, fregatene del resto
    2) potresti usare un "miniprogramma" awk, pipando il cat del file su awk, redirezionato sul file destinazione

  3. #3
    Utente di HTML.it L'avatar di Tux7000
    Registrato dal
    Feb 2008
    residenza
    Milano
    Messaggi
    620
    Infatti :-) grazie franzauker!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.