linuxuniq
命令用於處理文字內容中的重複行
。
這裡我們只介紹其常用引數,其完整用法可參見man uniq
。
例如,我們有如下檔案內容:
>>> cat log.txt
_______________
hello
hello
world
world
hello
使用uniq
命令,不加任何引數處理,注意,這裡的兩行hello
並沒有相鄰,所以最終還是顯示了兩行hello
,而兩行world
是相鄰的,所以去掉了其中一行world
:
>>> uniq log.txt
hello
hello
world
hello
如果想將不相鄰的相同內容也去重,一般需要與sort
命令配合使用,先排序,再去重,如下(這時所有的重複行都被去重了):
>>> cat log.txt | sort| uniq
____________________________
hello
hello
world
使用-s
引數,忽略前n 個字元(此處忽略了前2 個字元):
>>> cat log.txt | sort| uniq -s 2
_________________________________
hello
world
使用-i
引數,忽略大小寫(最終只剩下了大寫的):
>>> cat log.txt | sort| uniq -i
_______________________________
hello
world
使用-d
引數,只輸出重複的行
(hello
沒有重複,所以沒有輸出):
>>> cat log.txt | sort| uniq -d
_______________________________
hello
world
使用-u
引數,與-d
引數相反,只輸出不重複的行
(hello
沒有重複,所以輸出):
>>> cat log.txt | sort| uniq -u
———————————————————————————————
hello
使用-c
引數,計算重複行的次數,如下(第一列為出現的次數):
>>> cat log.txt | sort| uniq -c
_______________________________
1 hello
2 hello
2 world
按照重複次數
進行反向排序
:
cat log.txt | sort| uniq -c| sort -nr
—————————————————————————————————————
2 world
2 hello
1 hello
下面總結以上介紹到的引數:
引數含義
-s n
忽略前n 的字元
-i
忽略大小寫
-d
只輸出重複的行
-u
只輸出不重複的行
-c
對重複的行進行計數
(完。)
linux sort 命令實用手冊
linux 中的sort命令是乙個很實用的工具,用於對文字內容以行為單位進行ascii 碼排序,預設按照公升序進行排序 當然也可以按照降序 sort命令的格式如下 sort 引數 檔名 這裡不打算介紹其完整的使用方法,只介紹其重用方法,其完整手冊可參看man sort。比如,我們有如下文字內容,可以...
Rcpp實用手冊
c 對應於r的資料型別有如下這些 double numeric int integer string character logical bool 在c 中可以直接使用r的物件有 所有算術邏輯運算子都是可以向量化的 pow,include using namespace rcpp rcpp expo...
tar 實用手冊
url tar 命令用來將很多檔案打包成乙個單一的磁帶或者磁碟歸檔,並可從歸檔檔案恢復出檔案列表。當你需要通過 email 傳送大量檔案時或者傳輸檔案時非常有用。這裡我們介紹一些基本的使用場景。tar 的語法 tar options file.tar file1 file2 file.tar 是 t...