linux uniq 命令詳解

2021-07-03 04:51:32 字數 2600 閱讀 9372

uniq 命令 文字

uniq 是linux命令 用途

報告或刪除檔案中重複的行。 語法

uniq [ -c | -d | -u ] [ -f fields ] [ -s characters ] [ -fields ] [ +characters ] [ infile [ outfile ] ] 描述

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 僅顯示重複行。

-u 僅顯示不重複的行。

-f fields 忽略由 fields 變數指定的字段數目。如果 fields 變數的值超過輸入行中的字段數目, uniq 命令用空字串進行比較。這個標誌和 -fields 標誌是等價的。

-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 標誌是等價的。

- c 顯示輸出中,在每行行首加上本行在檔案中出現的次數。它可取代- u和- d選項。

- d 只顯示重複行 。

- u 只顯示檔案中不重複的各行 。

- n 前n個字段與每個欄位前的空白一起被忽略。乙個欄位是乙個非空格、非製表符的字串,彼此由製表符和空格隔開(欄位從0開始編號)。

+ n 前n個字元被忽略,之前的字元被跳過(字元從0開始編號)。

- f n 與- n相同,這裡n是字段數。

- s n 與+n相同,這裡n是字元數。

退出狀態

該命令返回以下退出值:

0 命令執行成功。

>0 發生錯誤。

補充

檔案經過處理後在它的輸出檔案中可能會出現重複的行。例如,使用cat命令將兩個檔案合併後,再使用sort命令進行排序,就可能出現重複行。這時可以使用uniq命令將這些重複行從輸出檔案中刪除,只留下每條記錄的唯一樣 示例

要刪除名為 fruit 檔案中的重複行並將其儲存到乙個名為 newfruit 的檔案中,輸入:

uniq fruit newfruit

如果 fruit 檔案包含下列行:

peaches

pears

bananas

cherries

cherries

則在您執行uniq 命令後 newfruit 檔案將包含下列行:

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

1. 顯示檔案example中不重複的行。

uniq - u example

2. 顯示檔案example中不重複的行,從第2個字段的第2個字元開始做比較。

uniq - u - 1 +1 example

linux uniq命令詳解

linux uniq命令詳解 用uniq命令可以刪除相鄰的重複行 uniq file 但如果一文字中有重複卻不相鄰的行則無法刪除,需要結合sort命令 sort file uniq 等效的sort命令是 sort u file 另外uniq命令有4個有用的選項 uniq d file 只輸出file...

linux uniq 命令詳解

uniq 命令 文字 uniq 是linux命令 用途 報告或刪除檔案中重複的行。語法 uniq c d u f fields s characters fields characters infile outfile 描述 uniq 命令刪除檔案中的重複行。uniq 命令讀取由 infile 引數...

linux uniq命令詳解

uniq 選項 檔案 說明 這個命令讀取輸入檔案,並比較相鄰的行。在正常情況下,第二個及以後更多個重複行將被刪去,行比較是根據所用字符集的排序序列進行的。該命令加工後的結果寫到輸出檔案中。輸入檔案和輸出檔案必須不同。如果輸入檔案用 表示,則從標準輸入讀取。該命令各選項含義如下 c 顯示輸出中,在每行...