本篇內(nèi)容介紹了“Linux下怎么刪除大數(shù)據(jù)文件中部分字段重復(fù)行”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、麻陽ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的麻陽網(wǎng)站制作公司
最近寫的一個(gè)數(shù)據(jù)采集程序生成了一個(gè)含有1千多萬行數(shù)據(jù)的文件,數(shù)據(jù)由4個(gè)字段組成,按照要求需要?jiǎng)h除第二個(gè)字段重復(fù)的行,找來找去linux下也沒找到合適的工具,sed/gawk等流處理工具只能針對(duì)一行一行處理,并無法找到字段重復(fù)的行。看來只好自己python一個(gè)程序了,突然想起來利用MySQL,于是進(jìn)行乾坤大挪移:
1. 利用mysqlimport --local dbname data.txt導(dǎo)入數(shù)據(jù)到表中,表名要與文件名一致
2. 執(zhí)行下列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;
“Linux下怎么刪除大數(shù)據(jù)文件中部分字段重復(fù)行”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!