主頁(yè) > 知識(shí)庫(kù) > linux中去掉文件重復(fù)數(shù)據(jù)行的方法(去重復(fù)ip)

linux中去掉文件重復(fù)數(shù)據(jù)行的方法(去重復(fù)ip)

熱門(mén)標(biāo)簽:服務(wù)器配置 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 解決方案 外呼系統(tǒng) 家政服務(wù)網(wǎng)絡(luò) 美團(tuán) 電話(huà)機(jī)器人搭建

一、去掉相鄰重復(fù)的數(shù)據(jù)行


復(fù)制代碼
代碼如下:

$cat data1.txt | uniq
輸出:
beijing
wuhan
beijing
wuhan

二、去掉所有重復(fù)的數(shù)據(jù)行


復(fù)制代碼
代碼如下:

$cat data1.txt | sort | uniq

注:
只有uniq命令的話(huà),只是把相鄰的重復(fù)的數(shù)據(jù)行去掉。
如果先 sort 的話(huà),就會(huì)把所有重復(fù)的數(shù)據(jù)行變成相鄰的數(shù)據(jù)行,再 uniq 的話(huà),就去掉所有重復(fù)的數(shù)據(jù)行了。

輸出:
beijing 
wuhan

附:data1.txt


復(fù)制代碼
代碼如下:

[root@syy ~]# cat data1.txt
beijing
beijing
wuhan
wuhan
wuhan
beijing
beijing
beijing
wuhan
wuhan

注:在過(guò)濾日志中的IP地址很有用。

Linux下刪除大數(shù)據(jù)文件中部分字段重復(fù)的行

最近寫(xiě)的一個(gè)數(shù)據(jù)采集程序生成了一個(gè)含有1千多萬(wàn)行數(shù)據(jù)的文件,數(shù)據(jù)由4個(gè)字段組成,按照要求需要?jiǎng)h除第二個(gè)字段重復(fù)的行,找來(lái)找去linux下也沒(méi)找到合適的工具,sed/gawk等流處理工具只能針對(duì)一行一行處理,并無(wú)法找到字段重復(fù)的行??磥?lái)只好自己python一個(gè)程序了,突然想起來(lái)利用mysql,于是進(jìn)行乾坤大挪移:

1. 利用mysqlimport --local dbname data.txt導(dǎo)入數(shù)據(jù)到表中,表名要與文件名一致
2. 執(zhí)行下列sql語(yǔ)句(要求唯一的字段為uniqfield)


復(fù)制代碼
代碼如下:

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;/p> p>drop table tablename;
rename table t2 to tablename;

標(biāo)簽:南昌 邢臺(tái) 烏蘭察布 臨沂 韶關(guān) 防城港 北海 撫州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux中去掉文件重復(fù)數(shù)據(jù)行的方法(去重復(fù)ip)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266