[root@server]# awk '!seen[$0]++' out.txt > cleaned
awk: (FILENAME=out.txt FNR=8547098) fatal error: internal error
Aborted
[root@server]#
El "" servidor "" tiene: 8 GByte RAM + 16 GByte SWAP, x> 300 GByte de espacio libre, amd64, CPU de escritorio. Linux científico 6.6. No se ejecuta nada más para hacer CARGA. Awk aborta después de unos segundos. Out.txt es ~ 1.6 GByte. GNU Awk 3.1.7.
Pregunta : ¿Cómo puedo eliminar las líneas duplicadas manteniendo el orden de las líneas? El caso también es importante, por ejemplo: "A" y "a" son dos líneas diferentes, hay que mantenerlo. Pero "a" y "a" están duplicados, solo se necesita el primero.
La respuesta podría estar en cualquier cosa ... si awk no es bueno para esto ... entonces perl / sed ... ¿cuál podría ser el problema?
[root@server]# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 61945
max locked memory (kbytes, -l) 99999999
max memory size (kbytes, -m) unlimited
open files (-n) 999999
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 99999999
cpu time (seconds, -t) unlimited
max user processes (-u) 61945
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@server]#
Actualización: Probé esto en una máquina RHEL, no aborta, pero no tuve tiempo de esperar a que termine ... ¿por qué SL Linux no difiere de RHEL?
Actualización: Estoy probando una conjetura virtual de Ubuntu 14 ... ¡hasta ahora funciona! No es un problema ulimit : mawk 1.3.3
root@asdf-VirtualBox:~# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 51331
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 51331
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
root@asdf-VirtualBox:~#
awk
versiones en dos máquinas?
out.txt
? ¿Funciona el mismo comando si lo prueba en un archivo más pequeño? ¿Cuántos usuarios hay en la máquina? ¿Había suficiente memoria disponible para el proceso? ¿Hay algo especial en la línea 8547098 del archivo de entrada?