不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

linux uniq命令詳解

時(shí)間: 佳洲1085 分享

  uniq命令是linux系統(tǒng)下的一個(gè)命令。那么它的具體用法是怎樣的呢?下面由學(xué)習(xí)啦小編為大家整理了linux uniq命令的相關(guān)知識(shí),希望對(duì)大家有幫助!

  linux uniq命令說(shuō)明

  uniq是LINUX命令

  linux uniq命令用途

  報(bào)告或刪除文件中重復(fù)的行。

  linux uniq命令語(yǔ)法

  uniq [ -c | -d | -u ] [ -f Fields ] [ -s Characters ] [ -Fields ] [ +Characters ] [ InFile [ OutFile ] ]

  linux uniq命令描述

  uniq 命令刪除文件中的重復(fù)行。

  uniq 命令讀取由 InFile 參數(shù)指定的標(biāo)準(zhǔn)輸入或文件。該命令首先比較相鄰的行,然后除去第二行和該行的后續(xù)副本。重復(fù)的行一定相鄰。(在發(fā)出 uniq 命令之前,請(qǐng)使用 sort 命令使所有重復(fù)行相鄰。)最后,uniq 命令將最終單獨(dú)的行寫(xiě)入標(biāo)準(zhǔn)輸出或由 OutFile 參數(shù)指定的文件。InFile 和 OutFile 參數(shù)必須指定不同的文件。如果輸入文件用“- ”表示,則從標(biāo)準(zhǔn)輸入讀取;輸入文件必須是文本文件。文本文件是包含組織在一行或多行中的字符的文件。這些行的長(zhǎng)度不能超出 2048 個(gè)字節(jié)(包含所有換行字符),并且其中不能包含空字符。

  缺省情況下,uniq 命令比較所有行。如果指定了-f Fields 或 -Fields 標(biāo)志, uniq 命令忽略由 Fields 變量指定的字段數(shù)目。 field 是一個(gè)字符串,用一個(gè)或多個(gè) <空格 > 字符將它與其它字符串分隔開(kāi)。

  如果指定了 -s Characters 或 -Characters 標(biāo)志, uniq 命令忽略由 Characters 變量指定的字段數(shù)目。為 Fields 和 Characters 變量指定的值必須是正的十進(jìn)制整數(shù)。

  當(dāng)前本地語(yǔ)言環(huán)境決定了 -f 標(biāo)志使用的 <空白> 字符以及 -s 標(biāo)志如何將字節(jié)解釋成字符。

  如果執(zhí)行成功,uniq 命令退出,返回值 0。否則,命令退出返回值大于 0。

  linux uniq命令標(biāo)志

  -c 在輸出行前面加上每行在輸入文件中出現(xiàn)的次數(shù)。

  -d 僅顯示重復(fù)行。

  -u 僅顯示不重復(fù)的行。

  -f Fields 忽略由 Fields 變量指定的字段數(shù)目。如果 Fields 變量的值超過(guò)輸入行中的字段數(shù)目, uniq 命令用空字符串進(jìn)行比較。這個(gè)標(biāo)志和 -Fields 標(biāo)志是等價(jià)的。

  -s Characters 忽略由 Characters 變量指定的字符的數(shù)目。如果 Characters 變量的值超過(guò)輸入行中的字符的數(shù)目, uniq 用空字符串進(jìn)行比較。如果同時(shí)指定 -f 和 -s 標(biāo)志, uniq 命令忽略由 -s Characters 標(biāo)志指定的字符的數(shù)目,而從由 -f Fields 標(biāo)志指定的字段后開(kāi)始。 這個(gè)標(biāo)志和 +Characters 標(biāo)志是等價(jià)的。

  -Fields 忽略由 Fields 變量指定的字段數(shù)目。這個(gè)標(biāo)志和 -f Fields 標(biāo)志是等價(jià)的。

  +Characters 忽略由 Characters 變量指定的字符的數(shù)目。如果同時(shí)指定 - Fields 和 +Characters 標(biāo)志, uniq 命令忽略由 +Characters 標(biāo)志指定的字符數(shù)目,并從由 -Fields 標(biāo)志指定的字段后開(kāi)始。 這個(gè)標(biāo)志和 -s Characters 標(biāo)志是等價(jià)的。

  - c 顯示輸出中,在每行行首加上本行在文件中出現(xiàn)的次數(shù)。它可取代- u和- d選項(xiàng)。

  - d 只顯示重復(fù)行 。

  - u 只顯示文件中不重復(fù)的各行 。

  - n 前n個(gè)字段與每個(gè)字段前的空白一起被忽略。一個(gè)字段是一個(gè)非空格、非制表符的字符串,彼此由制表符和空格隔開(kāi)(字段從0開(kāi)始編號(hào))。

  + n 前n個(gè)字符被忽略,之前的字符被跳過(guò)(字符從0開(kāi)始編號(hào))。

  - f n 與- n相同,這里n是字段數(shù)。

  - s n 與+n相同,這里n是字符數(shù)。

  linux uniq命令退出狀態(tài)

  該命令返回以下退出值:

  0 命令運(yùn)行成功。

  >0 發(fā)生錯(cuò)誤。

  補(bǔ)充

  文件經(jīng)過(guò)處理后在它的輸出文件中可能會(huì)出現(xiàn)重復(fù)的行。例如,使用cat命令將兩個(gè)文件合并后,再使用sort命令進(jìn)行排序,就可能出現(xiàn)重復(fù)行。這時(shí)可以使用uniq命令將這些重復(fù)行從輸出文件中刪除,只留下每條記錄的唯一樣

  linux uniq命令示例

  要?jiǎng)h除名為 fruit 文件中的重復(fù)行并將其保存到一個(gè)名為 newfruit 的文件中,輸入:

  uniq fruit newfruit

  如果 fruit 文件包含下列行:

  apples

  apples

  peaches

  pears

  bananas

  cherries

  cherries

  則在您運(yùn)行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

  1. 顯示文件example中不重復(fù)的行。

  uniq - u example

  2. 顯示文件example中不重復(fù)的行,從第2個(gè)字段的第2個(gè)字符開(kāi)始做比較。

  uniq - u - 1 +1 example

3584490