linux命令(47):Linux下對文件進行按行排序,去除重復行


Linux下對文件進行按行排序:sort 與 uniq 命令簡介

sort 命令可針對文本文件的內容,以行為單位進行排序。其基本語法格式為:

sort [-bcfMnrtk][源文件][-o 輸出文件]

參數:

  • -b 忽略每行前面開始出的空格字符。
  • -c 檢查文件是否已經按照順序排序。
  • -f 排序時,忽略大小寫字母。
  • -M 將前面3個字母依照月份的縮寫進行排序。
  • -n 依照數值的大小排序。
  • -o<輸出文件> 將排序后的結果存入指定的文件。
  • -r 以相反的順序來排序。
  • -t<分隔字符> 指定排序時所用的欄位分隔字符。
  • -k 選擇以哪個區間進行排序。


uniq 命令用於去除文件中重復的行,這個命令可以配合 sort 命令使用,將排序過程中出現的重復行去掉。其基本語法格式為:

uniq [選項] 文件

參數:

  • - c 顯示輸出中,在每行行首加上本行在文件中出現的次數。它可取代- u和- d選項。
  • - d 只顯示重復行。
  • - u 只顯示文件中不重復的各行。
  • - n 前n個字段與每個字段前的空白一起被忽略。一個字段是一個非空格、非制表符的字符串,彼此由制表符和空格隔開(字段從0開始編號)。
  • +n 前n個字符被忽略,之前的字符被跳過(字符從0開始編號)。
  • - f n 與- n相同,這里n是字段數。
  • - s n 與+n相同,這里n是字符數。

例:

$ sort filename uniq -c

以上操作對文件進行排序,並去除重復的行,同時在行首顯示重復出現的次數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM