이 기사에서는 php 및 linux sort 명령을 사용하여 각각 파일 내용의 중복 제거 및 정렬을 수행하고 완전한 데모 코드를 제공합니다.
쓰기 1000000숫자, 한 줄에 하나의 숫자
<?php$file = 'user_id.txt';$num = 1000000;$tmp = '';for($i=0; $i<$num; $i++){ $tmp .= mt_rand(0,999999).PHP_EOL; if($i>0 && $i%1000==0 || $i==$num-1){ file_put_contents($file, $tmp, FILE_APPEND); $tmp = ''; } }?>
파일 줄 수 보기
wc -l user_id.txt 1000000 user_id.txt
1000000처리가 필요하기 때문입니다. 따라서 실행 중 메모리 부족을 방지하기 위해 PHP에서 사용 가능한 메모리를 256m으로 설정합니다.
<?php/** * 文件内容去重及排序 * @param String $source 源文件 * @param String $dest 目标文件 * @param String $order 排序顺序 * @param Int $sort_flag 排序类型 */function fileUniSort($source, $dest, $order='asc', $sort_flag=SORT_NUMERIC){ // 读取文件内容 $file_data = file_get_contents($source); // 文件内容按行分割为数组 $file_data_arr = explode(PHP_EOL, $file_data); // 去除空行数据 $file_data_arr = array_filter($file_data_arr, 'filter'); // 去重 $file_data_arr = array_flip($file_data_arr); $file_data_arr = array_flip($file_data_arr); // 排序 if($order=='asc'){ sort($file_data_arr, $sort_flag); }else{ rsort($file_data_arr, $sort_flag); } // 数组合拼为文件内容 $file_data = implode(PHP_EOL, $file_data_arr).PHP_EOL; // 写入文件 file_put_contents($dest, $file_data, true); }// 过滤空行function filter($data){ if(!$data && $data!=='0'){ return false; } return true; }// 设置可使用内存为256mini_set('memory_limit', '256m');$source = 'user_id.txt';$dest = 'php_sort_user_id.txt'; fileUniSort($source, $dest);?>
wc -l php_sort_user_id.txt 632042 php_sort_user_id.txt head php_sort_user_id.txt 012357891112...
형식:
sort [OPTION]... [FILE]...
매개변수 설명:
-u 중복 제거
-n 숫자 정렬 유형
-r 내림차순
-o 출력 파일 경로
sort를 사용하여 중복 제거 및 정렬 수행
sort -uno linux_sort_user_id.txt user_id.txt
중복 제거 및 정렬 보기 최종 파일
아아아아
요약: 파일 중복 제거 및 정렬은 php 또는 linux sort 명령을 사용하여 수행할 수 있습니다. 실행 시간은 크게 다르지 않지만 파일 작업의 경우 시스템 명령을 직접 사용하는 것이 더 쉽습니다.
php 및 linux sort 명령을 사용하여 각각 파일 내용의 중복 제거 및 정렬을 수행하고 완전한 데모 코드를 제공합니다.
이 글에서는 중복 제거 및 파일 내용 정렬 관련 내용을 설명합니다. 자세한 내용은 PHP 중국어 웹사이트를 참고하세요. 관련 권장 사항:php를 사용하여 배열을 병합하고 키 값을 유지하는 방법
phpcurl을 사용하여 다중 프로세스 다운로드 파일 클래스를 구현하는 방법
위 내용은 파일 콘텐츠 중복 제거 및 관련 콘텐츠 정렬에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!