本篇內(nèi)容主要講解“l(fā)inux中去掉文件重復(fù)數(shù)據(jù)行的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“l(fā)inux中去掉文件重復(fù)數(shù)據(jù)行的方法”吧!
成都創(chuàng)新互聯(lián)專注于武隆網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供武隆營銷型網(wǎng)站建設(shè),武隆網(wǎng)站制作、武隆網(wǎng)頁設(shè)計(jì)、武隆網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造武隆網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供武隆網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
一、去掉相鄰重復(fù)的數(shù)據(jù)行
代碼如下:
$cat data1.txt | uniq
輸出:
beijing
wuhan
beijing
wuhan
二、去掉所有重復(fù)的數(shù)據(jù)行
代碼如下:
$cat data1.txt | sort | uniq
注:
只有uniq命令的話,只是把相鄰的重復(fù)的數(shù)據(jù)行去掉。
如果先 sort 的話,就會(huì)把所有重復(fù)的數(shù)據(jù)行變成相鄰的數(shù)據(jù)行,再 uniq 的話,就去掉所有重復(fù)的數(shù)據(jù)行了。
輸出:
beijing
wuhan
附:data1.txt
代碼如下:
[root@syy ~]# cat data1.txt
beijing
beijing
wuhan
wuhan
wuhan
beijing
beijing
beijing
wuhan
wuhan
注:在過濾日志中的IP地址很有用。
Linux下刪除大數(shù)據(jù)文件中部分字段重復(fù)的行
最近寫的一個(gè)數(shù)據(jù)采集程序生成了一個(gè)含有1千多萬行數(shù)據(jù)的文件,數(shù)據(jù)由4個(gè)字段組成,按照要求需要?jiǎng)h除第二個(gè)字段重復(fù)的行,找來找去linux下也沒找到合適的工具,sed/gawk等流處理工具只能針對一行一行處理,并無法找到字段重復(fù)的行??磥碇缓米约簆ython一個(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;
到此,相信大家對“l(fā)inux中去掉文件重復(fù)數(shù)據(jù)行的方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!