lunes, 12 de abril de 2010

(Resuelto) sort: 0653-657 A write error occurred while merging. (UNIX)

Hola,

hoy me encontrado con este error de fácil solución si se lee atentamente el manual de sort (man sort) y si tienes algún filesystem con bastante espacio. La plataforma es AIX 5.3.

Si quieres hacer sort de un fichero muy grande como el que yo he utilizado (más de 550 MB), se recomienda utilizar la opción -T mediante la cuál puedes indicar un directorio donde se irán almacenando los ficheros temporales utilizados por sort. Por defecto, se utilizan los siguientes directorios en este orden:

/var/tmp
/usr/tmp
/tmp

A mi me ha fallado el sort porque estaba redirigiendo la salida directamente a un uniq sin poner la opción -T:

sort -t" " +1 file | uniq -c -f1

Solución:
sort -T /dump/temp4sort -t" " +1 file | uniq -c -f1

NOTA: redirigir el sort a un fichero y luego hacer el uniq también puede ayudar si andamos muy justos de disco.