Re: [Forum] Ændre .htm til .html

From: Kasper Hald <khald@kemi.aau.dk>
Date: Mon Dec 18 2000 - 12:03:06 CET

Hej Forum.

On Mon, 18 Dec 2000, Jørgen Frøjk Kjærsgaard wrote:

>
> Et par småfejl: cat | sed... smider resultatet ud og "sed" mangler en
> option, der fortæller, at alle forekomster på hver linie skal erstattes.
> Ellers erstattes kun første forekomst.
Korrekt. Sorry.

>
> Prøv dette:
>
> #!/bin/bash
> for i in `ls *.htm`; do
> sed 's/\.htm\([^A-Za-z0-9]\)/.html\1/g' < $i > ${i}l
> done
>
> Dette vil erstatte ".htm" med ".html" uden at erstatte ".html" med
> ".htmll", og virke uanset hvilket ikke-alfanumerisk tegn, der følger
> efter l'et. Forudsætter dog, at ".htm" ikke er det allersidste på en
> linie!

Dette kan dog goeres med
   sed 's/\.htm$/.html/' < $i > ${i}l

Saa alt i alt skulle

#!/bin/bash
for i in `ls *.htm`
do
   sed 's/\.htm\([^A-Za-z0-9]\)/.html\1/g' < $i > temp123
   sed 's/\.htm$/.html/' < temp123 > ${i}l
done

rm temp123

kunne goere det.

Jeg kan ikke forstaa at du bruger \([^A-Za-z0-9]\)
i stedet for \> som betyder slutningen af et ord.
Det gaelder alle de steder som du opsummerer med
ikke alfa nummerisk og ogsaa for slutningen af linien.
Derfor ville jeg bruge

#!/bin/bash
for i in `ls *.htm`
do
   sed 's/\.htm\>/.html/g' < $i > ${i}l
done

M.v.h.

Kasper.

--
Kasper Hald
Ph.D.-student in Theoretical Chemistry
Email: khald@kemi.aau.dk
For further information : http://www.kemi.aau.dk/~khald
Received on Mon Dec 18 11:56:24 2000

This archive was generated by hypermail 2.1.8 : Tue Jul 19 2005 - 16:01:45 CEST