[root@server]# awk '!seen[$0]++' out.txt > cleaned
awk: (FILENAME=out.txt FNR=8547098) fatal error: internal error
Aborted
[root@server]#
Il "" server "" ha: 8 GByte RAM + 16 GByte SWAP, x> 300 GByte spazio libero, amd64, CPU desktop. Scientific Linux 6.6. Nient'altro ci scorre sopra per fare LOAD. Awk si interrompe dopo alcuni secondi .. out.txt è ~ 1,6 GByte. GNU Awk 3.1.7.
Domanda : come posso rimuovere le linee duplicate mantenendo l'ordine delle linee? Anche il caso è importante, ad esempio: "A" e "a" sono due linee diverse, devono essere mantenute. Ma "a" e "a" sono duplicati, è necessario solo il primo.
La risposta potrebbe essere in qualsiasi cosa .. se awk non è buono per questo .. allora perl / sed .. quale potrebbe essere il 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]#
Aggiornamento: l'ho provato su una macchina RHEL, non si interrompe, ma non ho avuto il tempo di aspettare che finisse .. perché SL Linux non differisce da RHEL?
Aggiornamento: sto provando su un Ubuntu 14 guide virtuali .. finora funziona! Non è 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
versioni in due macchine?
out.txt
? Lo stesso comando funziona se lo provi su un file più piccolo? Quanti utenti sulla macchina? C'era abbastanza memoria disponibile per il processo? C'è qualcosa di speciale nella riga 8547098 del file di input?