[l-linux] [p] Apache - usando extensiones diferentes a html

Ernesto Hernandez-Novich emhn at telcel.net.ve
Wed Dec 17 12:42:56 CST 2003


On Wed, 17 Dec 2003, Alvaro Jesus Hernandez Arteaga wrote:
> El Mié 17 Dic 2003 11:02, Jose Luis Bazo escribió:
> > quiero que el apache tome un *.asp como si fuese un *.html
> > y no me acuerdo en que parte del httpd.conf le agrego esa extencion para q
> > la lea como si fuese un html comun y silvestre...
> > un helping plis!!!!
>
> podrias intentar hacer un script para renombrar todos esos archivos,
> posteriormente utilizando awk/sed hacer una poderosa línea de shell para
> buscar dentro de los archivos el patron ".asp" y cambiarlo por ".html"
>
> bien es cierto que puedes hacer un cambio en el archivo httpd.conf (o como lo
> llame la distribucion que uses) pero no serí ni elegante ni lo correcto
>
> “There is more Unix-nature in one line of shell script than there is in ten
> thousand lines of C.”
> Master Foo

There is more Unix-nature in one line of Perl than there is in
ten thousand lines of whatever-other-puny-language :-)

$ perl -i -pe 's/\.asp"/\.html"/gi;
               if (eof) { ($n = $ARGV) =~ s/asp$/html/; rename $ARGV,$n }'
	       `find . -name *.asp`

Asumiendo que los href terminan en " como lo indica el standard W3C para
HTML. La expresión regular puede sofisticarse en caso de ser necesario,
eso es lo de menos...

Quiero hacer especial énfasis en el idioma

($x = $y) =~ s/.../.../

equivalente a

$x = $y
$x =~ s/.../.../

pero en una sola línea.

Así mismo, el 'eof' permite verificar cada una de las terminaciones internas
del ciclo implícito que se construye para procesar cada archivo (man perlrun).

De modo que en una sola línea, editar y renombrar un número arbitrario
de archivos identificados por sus nombres absolutos. Por cierto, el uso
de find puede ser sustituido si se usa el módulo File::Find de Perl,
pero eso implica editar un archivo para hacer el script, hacer unas
subrutinas y eso tarda mucho (y menos mal que no es orientado a objetos
para algo tan simple ;-)
-- 
Ernesto Hernández-Novich - On Linux 2.6.0-test11 i686 - Unix: Live free or die!
Geek by nature, Linux by choice, Debian of course.
If you can't apt-get it, it isn't useful or doesn't exist.
GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3
------------------------------------------------------------------------
Enviar e-mail a <majordomo at pm.org> colocando en el cuerpo:
"UNSUBSCRIBE caracas-pm-list" para desuscribirse.
"INFO caracas-pm-list" para conocer las reglas de etiqueta.
------------------------------------------------------------------------



More information about the caracas-pm mailing list