[root@server]# awk '!seen[$0]++' out.txt > cleaned
awk: (FILENAME=out.txt FNR=8547098) fatal error: internal error
Aborted
[root@server]#
Der "" Server "" verfügt über: 8 GByte RAM + 16 GByte SWAP, x> 300 GByte freien Speicherplatz, amd64, Desktop-CPU. Wissenschaftliches Linux 6.6. Nichts anderes läuft darauf, um LOAD zu machen. Awk bricht nach ein paar Sekunden ab. Out.txt ist ~ 1.6 GByte. GNU Awk 3.1.7.
Frage : Wie kann ich die doppelten Zeilen entfernen, während die Reihenfolge der Zeilen beibehalten wird? Groß- / Kleinschreibung ist auch wichtig, zB: "A" und "a" sind zwei verschiedene Zeilen, müssen es behalten. "A" und "a" sind jedoch doppelt vorhanden, nur das erste wird benötigt.
Antwort könnte in irgendetwas sein .. wenn awk nicht gut dafür ist .. dann perl / sed .. was könnte das Problem sein?
[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]#
Update: Ich habe es auf einem RHEL-Rechner versucht, es wird nicht abgebrochen, aber ich hatte keine Zeit, bis es fertig ist. Warum unterscheidet sich SL Linux nicht von RHEL?
Update: Ich versuche es mit einer virtuellen Ubuntu 14-Version. Soweit funktioniert es! Es ist kein Ulimit-Problem: 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
Versionen in zwei Maschinen?
out.txt
? Funktioniert derselbe Befehl, wenn Sie es mit einer kleineren Datei versuchen? Wie viele Benutzer auf dem Computer? War genügend Speicher für den Prozess verfügbar? Gibt es etwas Besonderes in Zeile 8547098 der Eingabedatei?