[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