[root@server]# awk '!seen[$0]++' out.txt > cleaned
awk: (FILENAME=out.txt FNR=8547098) fatal error: internal error
Aborted
[root@server]#
""서버 "는 8GB RAM + 16GB SWAP, x> 300GB 여유 공간, amd64, 데스크탑 CPU입니다. 과학적 리눅스 6.6. LOAD를 만들기 위해 실행되는 다른 것은 없습니다. 몇 초 후에 Awk가 중단됩니다. out.txt는 ~ 1.6GB입니다. GNU Awk 3.1.7.
질문 : 줄 순서를 유지하면서 중복 줄을 어떻게 제거합니까? 예도 중요합니다. 예 : "A"와 "a"는 서로 다른 두 줄입니다. 그러나 "a"와 "a"는 중복되며 첫 번째 것만 필요합니다.
대답은 무엇이든 될 수 있습니다. awk가 이것에 좋지 않다면 .. 그러면 perl / sed .. 무엇이 문제 일 수 있습니까?
[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]#
업데이트 : RHEL 컴퓨터 에서이 작업을 시도했지만 중단되지 않지만 완료 될 때까지 시간이 없었습니다. SL Linux가 RHEL과 다른 이유는 무엇입니까?
업데이트 : 우분투 14 가상 게임을 시도하고 있습니다. 지금까지는 작동합니다! 그것은 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
두 머신의 버전은 무엇입니까 ?
out.txt
니까? 작은 파일에서 시도하면 같은 명령이 작동합니까? 컴퓨터에 몇 명의 사용자가 있습니까? 프로세스에 사용 가능한 메모리가 충분 했습니까? 입력 파일의 8547098 행에 특별한 것이 있습니까?