檔案內容去重及排序

2021-09-10 15:01:01 字數 3465 閱讀 3756

本文將使用 php

和 linux sort 命令兩種方法,分別實現檔案內容去重及排序,並提供完成演示**。

寫入1000000個數字,每行乙個數字

<?php

$file = 'user_id.txt';$num = 1000000;$tmp = '';for($i=0; $i

檢視檔案行數

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)else    // 數組合拼為檔案內容

$file_data = implode(php_eol, $file_data_arr).php_eol;    // 寫入檔案    file_put_contents($dest, $file_data, true);}// 過濾空行

function

filter

($data)    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.txthead php_sort_user_id.txt 012

3578

91112...

linux sort命令用於文字檔案按行排序

格式:

sort [option]... [file]...

引數說明:

-u 去重

-n 數字排序型別

-r 降序

-o 輸出檔案的路徑

使用sort執行去重及排序

sort -uno linux_sort_user_id.txt user_id.txt

檢視去重及排序後的檔案

wc -l linux_sort_user_id.txt   632042 linux_sort_user_id.txthead linux_sort_user_id.txt 012

3578

91112...

總結:使用php或linux sort命令都可以實現檔案去重及排序,執行時間上相差不大,但建議對於檔案類的操作,直接使用系統命令實現更為簡單。

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!

本文將使用 php

和 linux sort 命令兩種方法,分別實現檔案內容去重及排序,並提供完成演示**。

寫入1000000個數字,每行乙個數字

<?php

$file = 'user_id.txt';$num = 1000000;$tmp = '';for($i=0; $i

檢視檔案行數

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)else    // 數組合拼為檔案內容

$file_data = implode(php_eol, $file_data_arr).php_eol;    // 寫入檔案    file_put_contents($dest, $file_data, true);}// 過濾空行

function

filter

($data)    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.txthead php_sort_user_id.txt 012

3578

91112...

linux sort命令用於文字檔案按行排序

格式:

sort [option]... [file]...

引數說明:

-u 去重

-n 數字排序型別

-r 降序

-o 輸出檔案的路徑

使用sort執行去重及排序

sort -uno linux_sort_user_id.txt user_id.txt

檢視去重及排序後的檔案

wc -l linux_sort_user_id.txt   632042 linux_sort_user_id.txthead linux_sort_user_id.txt 012

3578

91112...

總結:使用php或linux sort命令都可以實現檔案去重及排序,執行時間上相差不大,但建議對於檔案類的操作,直接使用系統命令實現更為簡單。

檔案內容去重及排序

本文將使用 php 和 linux sort 命令兩種方法,分別實現檔案內容去重及排序,並提供完成演示 寫入1000000個數字,每行乙個數字 file user id.txt num 1000000 tmp for i 0 i num i 檢視檔案行數 wc l user id.txt 10000...

Linux檔案內容去重

1 兩個檔案的交集,並集 1.取出兩個檔案的並集 重複的行只保留乙份 cat file1 file2 sort uniq file3 2.取出兩個檔案的交集 只留下同時存在於兩個檔案中的檔案 cat file1 file2 sort uniq d file3 3.刪除交集,留下其他的行 cat fi...

linux 檔案內容去重

1 sort filename uniq filename2 2 awk count 0 filename filename2 原始檔 codingants ubuntu awk cat dup hello world awkcoding ants hello world awkhello worl...