如何快速刪除Linux檔案中的重複資料行

2021-07-15 07:47:41 字數 1448 閱讀 5741

一、去掉相鄰重複的資料行

**如下:

$cat data1.txt | uniq

輸出:beijing

wuhan

beijing

wuhan

二、去掉所有重複的資料行

**如下:

$cat data1.txt | sort | uniq

cat log_20160723|awk -f ' ' ''

cat ppp.txt |sort|uniq|wc -l

注:只有uniq命令的話,只是把相鄰的重複的資料行去掉。

如果先 sort 的話,就會把所有重複的資料行變成相鄰的資料行,再 uniq 的話,就去掉所有重複的資料行了。

輸出:beijing

wuhan

附:data1.txt

**如下:

[root@syy ~]# cat data1.txt

beijing

beijing

wuhan

wuhan

wuhan

beijing

beijing

beijing

wuhan

wuhan

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

最近寫的乙個資料採集程式生成了乙個含有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;《/p》 《p》drop table tablename;

rename table t2 to tablename;

上面就是linux刪除檔案重複資料行的方法介紹了,本文介紹了多種情況下刪除檔案重複資料行的方法,希望對你有所幫助。



如何快速的刪除大量檔案

試驗場景 生成5000個1mb大小的檔案,然後用find刪除。看結果說話 user host test for x in seq 1000 do ddif dev zero of x.dd count 1 bs 1mb 2 dev null done user host test time find...

如何快速清空 Linux 中的大檔案

本文總結了幾種快速清空linux中的大檔案方法,快來看看對你有幫助嗎?1.通過重定向到null清空檔案內容 使用 shell 重定向null 不存在的物件 到檔案的最簡單方法來清空檔案內容 access.log2.使用true命令重定向清空檔案這裡我們將使用乙個符號,是乙個shell內建命令,本質上...

如何刪除linux資料夾中的海量檔案

1 建立乙個空目錄 mkdir p tmp rsync blank 2 確立需要清空的目標目錄 data web vip htdocs tuan 3 使用rsync同步刪除 注意目錄後面的 整體效率會快乙個數量級的樣子。rsync delete before a h v progress stats...