다른 옵션은 파일을 데이터베이스에로드하는 것입니다. EG MySQL 및 MySQL 워크 벤치.
데이터베이스는 대용량 파일 작업에 완벽한 후보입니다
입력 파일에 줄 바꿈으로 구분 된 단어 만 포함되어 있으면 힘들지 않아야합니다.
데이터베이스와 MySQL Workbench를 설치 한 후에는이 작업을 수행해야합니다.
먼저 스키마를 작성하십시오 (이는 인수 값을 늘려서이를 변경할 수는 있지만 단어가 255 자보다 길지 않다고 가정합니다). 첫 번째 열 "idwords"는 기본 키입니다.
CREATE SCHEMA `tmp` ;
CREATE TABLE `tmp`.`words` (
`idwords` INT NOT NULL AUTO_INCREMENT,
`mywords` VARCHAR(255) NULL,
PRIMARY KEY (`idwords`));
두 번째로 데이터 가져 오기 : EG 모든 단어를 테이블로 가져옵니다 (이 단계를 완료하는 데 시간이 걸릴 수 있습니다. 작은 단어 파일로 먼저 테스트를 실행하고 형식이 동일한 지 확인하는 것이 좋습니다. 큰 것 (테이블 자르기. IE 그것을 지우고 전체 데이터 세트를로드하십시오).
LOAD DATA LOCAL INFILE "C:\\words.txt" INTO TABLE tmp.words
LINES TERMINATED BY '\r\n'
(mywords);
이 링크는로드에 적합한 형식을 얻는 데 도움이 될 수 있습니다.
https://dev.mysql.com/doc/refman/5.7/en/load-data.html
EG 첫 번째 줄을 건너 뛰려면 다음을 수행하십시오.
LOAD DATA LOCAL INFILE "H:\\words.txt" INTO TABLE tmp.words
-- FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(mywords);
마지막으로 정렬 된 파일을 저장하십시오. PC에 따라 시간이 걸릴 수도 있습니다.
SELECT tmp.words.mywords
FROM tmp.words
order by tmp.words.mywords asc
INTO OUTFILE 'C:\\sorted_words.csv';
원하는대로 원하는대로 데이터를 검색 할 수도 있습니다. EG 처음 50 개 단어를 오름차순으로 제공합니다 (0 번째 또는 첫 번째 단어부터 시작).
SELECT tmp.words.mywords
FROM tmp.words
order by tmp.words.mywords asc
LIMIT 0, 50 ;
행운을 빌어 요
피트