Linux 中的 uniq 命令


介紹

Unix 作業系統以其強大的命令列介面和豐富的工具集而聞名。“uniq”命令是這些工具中一個流行的實用程式,用於過濾文字檔案中的重複行。此命令通常與其他命令列工具和 shell 指令碼結合使用,以操作資料和自動化任務。在本文中,我們將詳細探討“uniq”命令,包括其語法、選項以及使用示例。

語法

“uniq”命令的語法簡單易懂。命令的基本語法如下:

uniq [options] [input_file] [output_file]

這裡,“options”是各種修改命令列為的命令列開關,“input_file”是要處理的檔名,“output_file”是將處理後的資料寫入的檔名。

選項

“uniq”命令有幾個選項,允許您自定義其行為。以下是其中一些最常用的選項:

  • -c − 此選項新增輸入檔案中每行重複次數的計數。例如,如果輸入檔案包含兩行相同的內容,“uniq -c”命令將輸出一行,其中計數為“2”。

  • -d − 此選項僅顯示輸入檔案中重複的行。換句話說,它刪除所有唯一行,只顯示重複項。

  • -i − 此選項在比較行時忽略字母的大小寫。例如,如果使用 -i 選項,則行“Apple”和“apple”將被視為相同。

  • -u − 此選項僅顯示輸入檔案中出現一次的行。換句話說,它刪除所有重複行,只顯示唯一行。

示例

既然我們已經介紹了“uniq”命令的語法和選項,讓我們來探索一些使用示例。

示例 1:刪除重複項

假設您有一個名為“data.txt”的檔案,其中包含一個名稱列表,其中一些名稱多次出現。要從檔案中刪除重複項,可以使用以下命令:

uniq data.txt > output.txt

此命令將從“data.txt”檔案讀取資料,刪除所有重複行,並將唯一行寫入一個名為“output.txt”的新檔案。

示例 2:計數重複項

假設您想知道每個名稱在“data.txt”檔案中出現的次數。您可以使用以下命令:

uniq -c data.txt > output.txt

此命令將從“data.txt”檔案讀取資料,計算每行出現的次數,並將結果寫入一個名為“output.txt”的新檔案。輸出將顯示檔案中每行唯一內容的計數。

示例 3:忽略大小寫

假設您有一個名為“data.txt”的檔案,其中包含一個名稱列表,其中一些名稱以不同的情況出現。要刪除重複項而不考慮大小寫,可以使用以下命令:

uniq -i data.txt > output.txt

此命令將從“data.txt”檔案讀取資料,刪除所有重複行而不考慮大小寫,並將唯一行寫入一個名為“output.txt”的新檔案。

示例 4:顯示重複項

假設您只想檢視“data.txt”檔案中重複的行。您可以使用以下命令:

uniq -d data.txt > output.txt

此命令將從“data.txt”檔案讀取資料,刪除所有唯一行,並將僅重複行寫入一個名為“output.txt”的新檔案。

示例 5:顯示唯一行

假設您只想檢視“data.txt”檔案中僅出現一次的行。您可以使用以下命令:

uniq -u data.txt > output.txt

此命令將從“data.txt”檔案讀取資料,刪除所有重複行,並將僅唯一行寫入一個名為“output.txt”的新檔案。

“uniq”命令的用途

“uniq”命令是一個用途廣泛的工具,可用於各種情況。命令的一些最常見用例包括:

  • 資料清理 − “uniq”命令可用於從資料檔案中刪除重複條目,使資料更容易分析。

  • 資料分析 − 透過使用“-c”選項,“uniq”命令可以計算檔案中每行出現的次數,從而方便資料分析。

  • 資料轉換 − “uniq”命令可以與其他命令列工具結合使用,將資料檔案轉換為不同的格式。

  • 指令碼編寫 − “uniq”命令可用於 shell 指令碼中,以自動化涉及文字檔案的任務。

  • 版本控制 − “uniq”命令可用於從程式碼檔案中刪除重複行,使程式碼更容易在版本控制系統中管理。

“uniq”命令的常見錯誤

雖然“uniq”命令通常易於使用,但使用者可能會遇到一些常見錯誤。以下是一些最常見的錯誤以及如何修復它們:

  • “uniq: missing operand” − 當“uniq”命令未提供要處理的輸入檔案時,會出現此錯誤。要修復此錯誤,請為命令提供要處理的檔名。

  • “uniq: output file is same as input file” − 當指定的輸出檔案與輸入檔案相同時,會出現此錯誤。要修復此錯誤,請指定不同的輸出檔名。

  • “uniq: cannot open file” − 當“uniq”命令找不到指定的輸入或輸出檔案時,會出現此錯誤。要修復此錯誤,請確保檔案存在並指定了正確的檔案路徑。

  • “uniq: invalid option” − 當使用“uniq”命令指定無效選項時,會出現此錯誤。要修復此錯誤,請確保選項拼寫正確,並且您使用的“uniq”命令版本支援該選項。

結論

總之,“uniq”命令是一個強大的工具,可用於過濾文字檔案中的重複行。其各種選項允許自定義其行為以滿足您的特定需求。無論您是想刪除重複項、計數重複項、忽略大小寫,還是僅顯示唯一行,“uniq”命令都是 Linux 工具包中一個有用的工具。透過本文提供的示例,您可以充滿信心和效率地開始在日常工作中使用“uniq”命令。

更新於: 2023年3月24日

1K+ 閱讀量

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.