linux下刪除大資料檔案中部分字段重複的行

2021-06-02 09:41:26 字數 596 閱讀 9218

最近寫的乙個資料採集程式生成了乙個含有1千多萬行資料的檔案,資料由4個字段組成,按照要求需要刪除第二個字段重複的行,找來找去linux下也沒找到合適的工具,sed/gawk等流處理工具只能針對一行一行處理,並無法找到字段重複的行。看來只好自己python乙個程式了,突然想起來利用mysql,於是進行乾坤大挪移:

1. 利用mysqlimport --local dbname data.txt匯入資料到表中,表名要與檔名一致

2. 執行下列sql語句(要求唯一的字段為uniqfield)

use dbname;

alter table tablename add rowid int auto_increment not null;

create table t select min(rowid) as rowid from tablename group by uniqfield;

create table t2 select tablename .* from tablename,t where tablename.rowid= t.rowid;

drop table tablename;

rename table t2 to tablename;

大資料檔案讀取方法

filepath 1.txt step 1024 1024 1m str r n start 0 i 1 count 0 do while i 1 echo count file get contents 讀取大檔案方法 param unknown patha 檔案路徑 param unknown ...

oracle刪除資料檔案

在我們詳細介紹之前,我們必須說清楚一點 oracle不提供如刪除表 檢視一樣刪除資料檔案的方法,資料檔案是表空間的一部分,所以不能 移走 表空間。一 使用offline資料檔案的方法 非歸檔模式使用 alter database datafile offline drop 歸檔模式使用 alter ...

oracle刪除資料檔案

在我們詳細介紹之前,我們必須說清楚一點 oracle不提供如刪除表 檢視一樣刪除資料檔案的方法,資料檔案是表空間的一部分,所以不能 移走 表空間。一 使用offline資料檔案的方法 非歸檔模式使用 alter database datafile offline drop 歸檔模式使用 alter ...