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.