linux去除檔案重複行 uniq

2021-10-04 02:25:46 字數 1339 閱讀 1513

uniq命令全稱是「unique」,中文釋義是「獨特的,唯一的」。該命令的作用是用來去除文字檔案中連續的重複行,中間不能夾雜其他文字行。去除了重複的,保留的都是唯一的,也就是獨特的,唯一的了。

我們應當注意的是,它和sort的區別,sort只要有重複行,它就去除,而uniq重複行必須要連續,也可以用它忽略檔案中的重複行。

uniq 【選項】 引數

-c或–count 在每列旁邊顯示該行重複出現的次數。

-d或–repeated 僅顯示重複出現的行列。

-f《字段》或–skip-fields=《字段》 忽略比較指定的字段。

-s《字元位置》或–skip-chars=《字元位置》 忽略比較指定的字元。

-u或–unique 僅顯示出一次的行列。

-w《字元位置》或–check-chars=《字元位置》 指定要比較的字元。

–help 顯示幫助。

–version 顯示版本資訊。

測試檔案

[root@linus

~]# cat test.txt

hello

hello

hello

hello

world

world

world

world

onetwo

twothree

three

three

直接使用將刪除重複行,並不修改原始檔

[root@linus

~]# uniq test.txt $可加上重定向輸出,替換原始檔,即可變相刪除全部重複行

hello

world

onetwo

three

列印每行在檔案**現重複的次數

[root@linus

~]# uniq -c test.txt

4 hello

4 world

1 one

2 two

3 three

只顯示有重複的行,且每個紀錄只出現一次

[root@linus

~]# uniq -d test.txt

hello

world

two $其中one沒有列印,因為其沒有重複

three

只顯示沒有重複的行

[root@linus

~]# uniq -u test.txt

one

Perl去除檔案的重複行

perl去除檔案重複行的指令碼輸入檔案 perl去除檔案重複行的指令碼 usr bin perl use warnings use strict my hash my source file read.log 讀取檔案 my katex parse error expected eof got at...

pandas 去除重複行

方法 dataframe.drop duplicates subset none,keep first inplace false 1引數 這個drop duplicate方法是對dataframe格式的資料,去除特定列下面的重複行。返回dataframe格式的資料。subset column la...

sql 去除重複行

最近做乙個資料庫的資料匯入功能,發現聯合主鍵約束導致不能匯入,原因是源表中有重複資料,但是源表中又沒有主鍵,很是麻煩。經過努力終於解決了,現在就來和大家分享一下,有更好的辦法的可以相互交流。有重複資料主要有一下幾種情況 1.存在兩條完全相同的紀錄 這是最簡單的一種情況,用關鍵字distinct就可以...