'join' 유틸리티 보고서: 파일이 정렬되지 않았지만 실제로는 정렬되었습니다.

'join' 유틸리티 보고서: 파일이 정렬되지 않았지만 실제로는 정렬되었습니다.

t1두 개의 파일 이 있고 t2.

root@localhost:~#
root@localhost:~# cat t1
udp  UNCONN  0  0    0.0.0.0:68      0.0.0.0:*  users:(("dhclient",pid=479,fd=7))     479
tcp  LISTEN  0  128  127.0.0.1:6060  0.0.0.0:*  users:(("gggg-ruit",pid=24968,fd=5))  24968
root@localhost:~#
root@localhost:~# cat t2
root        88  0.0  0.0      0     0 ?        I<   Jan06   0:00 [scsi_tmf_0]
root        96  0.0  0.0      0     0 ?        I<   Jan06   0:00 [ipv6_addrconf]
root     24965  0.0  0.2  11592  3004 ?        S    Jan12   0:00 bash /root/restart_gggg.sh
root     24968  0.7  5.2 112488 53472 ?        Sl   Jan12  30:52 /usr/local/bin/gggg-ruit -singleInstance :44444

t1의 8열과 t2의 2열에 결합하고 싶습니다. 나는 그것들을 순서대로 정리했다. 그것을 증명해 봅시다.

root@localhost:~# awk '{print $8}' t1
479
24968
root@localhost:~# awk '{print $2}' t2
88
96
24965
24968

이제 join사용할 때 다음 오류가 발생합니다.

root@localhost:~# join -1 8 -2 2 -o 2.1,2.2,1.1,1.2,1.5,1.6,2.11 t1 t2
join: t2:3: is not sorted: root     24965  0.0  0.2  11592  3004 ?        S    Jan12   0:00 bash /root/restart_gggg.sh
root@localhost:~#

t2가 행 3에 정렬되지 않았다고 말하는 이유는 무엇입니까? 보시다시피 이미 조인 열에 정렬되어 있습니다.

답변1

숫자로 정렬되지만 join사전식 순서(24968, 479, 24965, 24968, 88, 96)가 필요합니다.

관련 정보