jueves, 24 de julio de 2008

Redirigir con tubería la salida de error a la entrada estándar

Hoy me he visto con una necesidad bastante curiosa: he necesitado redirigir la salida de error del svn a la entrada del sed sin mezclar las salidas y que al final las salida de error se quedase en la de error y la de estandar en la de estándar. Lo he conseguido con la siguiente instrucción:

svn "$@" 2> /dev/stdout > /dev/stderr | sed -e '/no version information available/d' 2> /dev/stdout > /dev/stderr


Es muy importante mantener el orden de redirección de las salidas, si no se mezclarán, es decir, primero redirigir la de error y luego la estándard.

martes, 15 de julio de 2008

Tomcat: SEVERE: WSSERVLET11: failed to parse runtime descriptor: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: PermGen space

La solución parece ser añadir la siguiente línea al principio de catalina.sh:

JAVA_OPTS="-XX:MaxPermSize=512m"

domingo, 13 de julio de 2008

awk: fatal: attempt to use array `function (from array)' in a scalar context

Este error se produce en awk o gawk cuando se usa una función que intenta calcular la longitud de un array que obtenemos como parámetro de una función. Parece ser que no se puede saber la longitud de un array si no estás en el mismo bloque de código en el que la declaras. Una solución sencilla es pasar a esta función, a parte del array, la longitud del array.