首頁 > 文字處理與搜尋 > sort

sort -u: 去除重複並排序

sort -u 命令用於對文本文件或標準輸入的內容進行排序,並移除重複的行,只輸出唯一的行。這在從數據列表中去除重複項並進行清理時非常有用。

概述

sort -u 在對輸入數據進行升序排序的同時,會移除所有重複的行,只保留一個。這在日誌文件分析、生成唯一項目列表、數據清理等各種情況下都非常有用。

主要特點

  • 對數據進行排序並自動移除重複的行
  • 可通過管道符(|)與其他命令的輸出進行連接
  • 支持數字、特定字段等多種排序標準
  • 大文件處理效率高

主要選項

介紹 sort 命令的各種選項中,與 -u 一起常用或補充 -u 功能的選項。

移除重複和基本操作

排序標準

輸出和其他

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`sort` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

通過 sort -u 命令的各種應用範例,學習實際使用方法。

對文件內容進行排序並移除重複

sort -u file.txt

對 file.txt 的內容進行排序並移除重複的行,然後顯示在標準輸出上。

通過管道處理輸入

cat file.txt | sort -u

接收其他命令的輸出,進行排序並移除重複。例如,通過 `cat` 命令傳遞文件內容。

按數字排序並移除重複

sort -nu numbers.txt

將 numbers.txt 文件中的數字作為數值處理進行排序並移除重複。

按特定字段排序並移除重複

sort -t',' -uk2 data.csv

對以逗號(,)分隔的 data.csv 文件,按第二個字段進行排序並移除重複。

將結果保存到新文件

sort -u input.txt -o output.txt

將排序和去重後的結果保存到 output.txt 文件中。

提示與注意事項

提供使用 sort -u 命令時的有用提示和注意事項。

sort -u 與 uniq 的區別

  • sort -u: 對整個輸入進行排序後再移除重複。因此,它會移除文件中任何位置的重複項。
  • uniq: 僅移除相鄰行的重複項。要使用 `uniq`,必須先使用 `sort` 命令對數據進行排序。`sort -u` 是一種方便的方法,可以一次完成這兩個過程。

大小寫區分

  • 默認行為: sort -u 默認區分大小寫,將 'Apple' 和 'apple' 視為不同的行。
  • 忽略大小寫: 如果想忽略大小寫並移除重複,請同時使用 `-f` (fold-case) 選項。例如:`sort -uf file.txt`

大文件處理性能

  • 內存使用: 處理大文件時,sort 可能會大量使用系統內存。可以使用 `-S` 選項指定使用的內存緩衝區大小來調整性能。(例如:`-S 50%` 表示使用 50% 的可用內存)
  • 臨時文件: 內存不足時,sort 會創建臨時文件。可以使用 `-T` 選項指定臨時文件的保存目錄。(例如:`-T /tmp`)

相同類別命令