勵志

勵志人生知識庫

uniq命令

uniq命令主要用於去除文本檔案中連續重複的行,它要求處理的文本行必須是已經排序好的。這個命令可以配合sort命令使用,以去除文本中的重複行。以下是uniq命令的一些詳細信息和用法:

基本用法:uniq [options] [file1 [file2]]。這裡,file1和file2是要處理的檔案,而options是命令的選項。如果沒有指定檔案,uniq命令可以從標準輸入中讀取數據。

常見參數:

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

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

-u或--unique:僅顯示不重複出現的行。

-f<栏位>或--skip-fields=<栏位>:忽略比較指定的欄位。

-s<字符位置>或--skip-chars=<字符位置>:忽略比較指定的字元。

-w<字符位置>或--check-chars=<字符位置>:指定要比較的字元。

示例:

統計每個字元在字元串中出現的次數:echo "abebhaaa" | sed 's/[^]/&/g' | sed '/^$/d' | sort | uniq –c | tr –d ''。

去除檔案中的重複行,並顯示每個行重複出現的次數:sort test.txt | uniq -c。

忽略第一欄位後的重複行:sort test2.txt | uniq -f 1。

需要注意的是,uniq命令要求輸入數據已經是排序好的,否則結果可能不正確。此外,它通常與sort命令結合使用,以先對數據進行排序,然後再去除重複行。