martes, 27 de enero de 2009

sed, borrando bloques de texto delimitado por cadenas

Tenía unos cuantos ficheros htm dentro de un directorio (pongamos como ruta /ruta/del/directorio), y quería borrar de ellos -si lo contenían- las siguientes líneas:

<div class="links">
<a href="http://peremolto.net">peremolto.net</a>
</div>


En la página de sed, el ejemplo 4.21 se ajusta casi en su totalidad a esto. Tras adaptarlo a lo mío quedó así:

nouser@nohost:~$ cat borra_delimitado.sed
# sed script to delete a block if /regex/ matches inside it
:t
/<div class="links">/,/div>/ { # For each line inside these block markers
/div>/!{ # If we are not at the /end/ marker
$!{ # nor the last line of the file,
N; # add the Next line to the pattern space
bt
} # and branch (loop back) to the :t label.
} # This line matches the /end/ marker.
/>peremolto.net</d; # If /regex/ matches, delete the block.
} # Otherwise, the block will be printed.
#---end of script---

Tal como se presenta este script sed, lo incluimos en un "for i in" que recorre los ficheros devueltos por un find

nouser@nohost:~$ for i in `find /ruta/del/directorio -name "*.htm"`; do sed -f borra_delimitado.sed -i $i; done

miércoles, 21 de enero de 2009

Knoppix, problema de visionado de imagen en algunos monitores

En alguna ocasión que he necesitado arrancar un equipo con una live distro, teniendo sólo a mano un Knoppix, me he encontrado que el monitor que estaba utilizando en aquel momento no era capaz de renderizar la imagen que enviaba el ordenador tras el botado inicial.

Los modificadores de arranque de Knoppix son muchos, pero el que en concreto permite corregir esta situación es 'vga=normal'. Si no recuerdo mal, las ayudas que presenta el menú de inicio de Knoppix no traen documentada esta opción.

En mi caso necesité arrancar con un teclado en castellano, así que el comando de arranque completo fue:

knoppix lang=es vga=normal

Versió alternativa, veure el primer comentari.

viernes, 2 de enero de 2009

PHP desde la línea de comandos, por ejemplo

nouser@nohost:~$ php -r "phpinfo();"
phpinfo()
PHP Version => 5.2.4-2ubuntu5.4


System => Linux nohost-ubuntu 2.6.24-22-generic #1 SMP Mon Nov 24 18:32:42 UTC 2008 i686


...