uniqapp
uniq 命令ide
文字ui
uniq是LINUX命令spa
用途排序
報告或刪除文件中重複的行。字符串
語法it
uniq [ -c | -d | -u ] [ -f Fields ] [ -s Characters ] [ -Fields ] [ +Characters ] [ InFile [ OutFile ] ]class
描述變量
uniq 命令刪除文件中的重複行。 uniq 命令讀取由 InFile 參數指定的標準輸入或文件。該命令首先比較相鄰的行,而後除去第二行和該行的後續副本。重複的行必定相鄰。(在發出 uniq 命令以前,請使用 sort 命令使全部重複行相鄰。)最後,uniq 命令將最終單獨的行寫入標準輸出或由 OutFile 參數指定的文件。InFile 和 OutFile 參數必須指定不一樣的文件。語法
輸入文件必須是文本文件。文本文件是包含組織在一行或多行中的字符的文件。這些行的長度不能超出 2048 個字節(包含全部換行字符),而且其中不能包含空字符。
缺省狀況下,uniq 命令比較全部行。若是指定了-f Fields 或 -Fields 標誌, uniq 命令忽略由 Fields 變量指定的字段數目。 field 是一個字符串,用一個或多個 <空格 > 字符將它與其它字符串分隔開。若是指定了 -s Characters 或 -Characters 標誌, uniq 命令忽略由 Characters 變量指定的字段數目。爲 Fields 和 Characters 變量指定的值必須是正的十進制整數。
當前本地語言環境決定了 -f 標誌使用的 <空白> 字符以及 -s 標誌如何將字節解釋成字符。
若是執行成功,uniq 命令退出,返回值 0。不然,命令退出返回值大於 0。
標誌
-c 在輸出行前面加上每行在輸入文件中出現的次數。
-d 僅顯示重複行。
-f Fields 忽略由 Fields 變量指定的字段數目。若是 Fields 變量的值超過輸入行中的字段數目, uniq 命令用空字符串進行比較。這個標誌和 -Fields 標誌是等價的。
-u 僅顯示不重複的行。
-s Characters 忽略由 Characters 變量指定的字符的數目。若是 Characters 變量的值超過輸入行中的字符的數目, uniq 用空字符串進行比較。若是同時指定 -f 和 -s 標誌, uniq 命令忽略由 -s Characters 標誌指定的字符的數目,而從由 -f Fields 標誌指定的字段後開始。 這個標誌和 +Characters 標誌是等價的。
-Fields 忽略由 Fields 變量指定的字段數目。這個標誌和 -f Fields 標誌是等價的。
+Characters 忽略由 Characters 變量指定的字符的數目。若是同時指定 - Fields 和 +Characters 標誌, uniq 命令忽略由 +Characters 標誌指定的字符數目,並從由 -Fields 標誌指定的字段後開始。 這個標誌和 -s Characters 標誌是等價的。
退出狀態
該命令返回如下退出值:
0 命令運行成功。
>0 發生錯誤。
示例
要刪除名爲 fruit 文件中的重複行並將其保存到一個名爲 newfruit 的文件中,輸入:
uniq fruit newfruit
若是 fruit 文件包含下列行:
apples
apples
peaches
pears
bananas
cherries
cherries
則在您運行uniq 命令後 newfruit 文件將包含下列行:
apples
peaches
pears
bananas
cherries
文件
/usr/bin/uniq 包含 uniq 命令。
# uniq -c 的用法,例如:
harley
casely
weedly
harley
linda
#cut -c 1-8 | sort | uniq -c > result.txt
1 casely
2 harley
1 linda
1 weekly
補充:
文件通過處理後在它的輸出文件中可能會出現重複的行。例如,使用cat命令將兩個文件合併後,再使用sort命令進行排序,就可能出現重複行。這時可使用uniq命令將這些重複行從輸出文件中刪除,只留下每條記錄的惟同樣本。 語法:uniq [選項] 文件 說明:這個命令讀取輸入文件,並比較相鄰的行。在正常狀況下,第二個及之後更多個重複行將被刪去,行比較是根據所用字符集的排序序列進行的。該命令加工後的結果寫到輸出文件中。輸入文件和輸出文件必須不一樣。若是輸入文件用「- 」表示,則從標準輸入讀取。 該命令各選項含義以下:、 - c 顯示輸出中,在每行行首加上本行在文件中出現的次數。它可取代- u和- d選項。 - d 只顯示重複行 。 - u 只顯示文件中不重複的各行 。 - n 前n個字段與每一個字段前的空白一塊兒被忽略。一個字段是一個非空格、非製表符的字符串,彼此由製表符和空格隔開(字段從0開始編號)。 +n 前n個字符被忽略,以前的字符被跳過(字符從0開始編號)。 - f n 與- n相同,這裏n是字段數。 - s n 與+n相同,這裏n是字符數。 例如: 1. 顯示文件example中不重複的行。 uniq - u example 2. 顯示文件example中不重複的行,從第2個字段的第2個字符開始作比較。 uniq - u - 1 +1 example