큰 파일 의 정렬 과 무 게 를 줄 이 는 것 은 매우 간단 하 다.
2730 단어 큰 문서
간단 한 해결 방안 은 큰 파일 의 단어 크기 가 고 른 몇 개의 작은 파일 을 먼저 친 다음 에 작은 파일 에 대해 순 서 를 정 한 다음 에 Merge 의 모든 작은 파일 을 Merge 하 는 과정 에서 중복 되 는 내용 을 제거 하 는 것 이다.
Linux 에서 이 논 리 를 실현 하려 면 코드 를 직접 쓰 지 않 아 도 됩 니 다. 셸 에 내 장 된 명령: split, sort 만으로 도 충분 합 니 다.우 리 는 이 절 차 를 스 크 립 트 로 연결 해서 셸 스 크 립 트 파일 에 썼 다.파일 이름 sortuniq.sh.
1 #!/bin/bash
2 lines=$(wc -l $1 | sed 's/ .*//g')
3 lines_per_file=`expr $lines / 20`
4 split -d -l $lines_per_file $1 __part_$1
5
6 for file in __part_*
7 do
8 {
9 sort $file > sort_$file
10 } &
11 done
12 wait
13
14 sort -smu sort_* > $2
15 rm -f __part_*
16 rm -f sort_*
사용 방법:./sortuniq.sh file_to_be_sort file_sorted
이 코드 는 큰 파일 을 20 개 또는 21 개의 작은 파일 로 나 누고 배경 에서 작은 파일 을 병렬 적 으로 정렬 한 다음 결 과 를 합 쳐 다시 시작 합 니 다.
만약 에 무 거 운 것 만 없 으 면 정렬 할 필요 가 없다. 또 다른 사고방식 이 있다. 파일 의 줄 마다 hash 값 을 계산 하고 hash 값 에 따라 이 줄 의 내용 을 작은 파일 에 넣 고 100 개의 작은 파일 을 나 누 어야 한다 고 가정 하면 (hash% 100) 에 따라 파일 의 내용 을 나 누 어 주 고 작은 파일 에서 무 거 운 것 을 실현 하면 된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
큰 파일 의 정렬 과 무 게 를 줄 이 는 것 은 매우 간단 하 다.한 학교 에서 학생 을 모집 하 는 면접 문 제 는 큰 파일 (예 를 들 어 1T) 을 줄 에 따라 정렬 하고 무 게 를 제거 하 는 것 이다. 간단 한 해결 방안 은 큰 파일 의 단어 크기 가 고 른 몇 개의 작은...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.