[eside-ghost] Uppercase vs. lowercase en pagina web local
Pablo Garaizar Sagarminaga
garaizar en eside.deusto.es
Jue Feb 7 11:17:53 CET 2008
Aupa!
El Thu, 7 Feb 2008 11:00:56 +0100
"STenyaK (Bruno Gonzalez)" <stenyak en gmail.com> comentaba:
> perl -pi -e 's/href="\([^"]*\)"/href="\u\1\e"/' *.htm? *.css *.js
> Habria q extender la expresion para q tb reemplace imgs y demás,
> claro. Y que tal vez usen comillas simples en vez de dobles. Lo
> probaré cuando welva a casa a ver...
Si te quieren joder, la casuística es grande: entre href y = puede
haber un número variable de espacios, también entre = y la primera
comilla, href puede ir en mayúsculas, etc.
De todas maneras, no creo que necesites la máquina de Turing universal
para pasar los enlaces a minúsculas, con algo que haga la mayoría del
trabajo, como la regexp que has puesto, estaría ya genial.
> Como se suele decir, un dia sin aprender algo nuevo es un dia
> perdido :-)
Buena cita, la versión pesimista de "nunca te acostarás sin saber una
cosa más" ;-DDD
Viendo cómo se resuelve en Perl, he pensado que en sed sería parecido,
y he encontrado los modificadores \u, \U, \l y \L: funcionan así:
$ echo "href=\"hola\"" | sed -e "s/href=\"\([^\"]*\)\"/href=\"\U\1\"/g"
href="HOLA"
$ echo "href=\"hola\"" | sed -e "s/href=\"\([^\"]*\)\"/href=\"\u\1\"/g"
href="Hola"
$ echo "href=\"HOLA\"" | sed -e "s/href=\"\([^\"]*\)\"/href=\"\L\1\"/g"
href="hola"
$ echo "href=\"HOLA\"" | sed -e "s/href=\"\([^\"]*\)\"/href=\"\l\1\"/g"
href="hOLA"
Perdón por el jaleo de las \", pero me daba pereza hacer un script O:-)
--
Pablo Garaizar Sagarminaga
ONTE (Oficina de Nuevas Tecnologías y Educación)
Universidad de Deusto
Avda. de las Universidades 24
48007 Bilbao - Spain
Phone: +34-94-4139000 Ext 2980
Fax: +34-94-4139101
Web: http://onte.eside.deusto.es
Más información sobre la lista de distribución eside-ghost