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
以上操作對文件進行排序,並去除重復的行,同時在行首顯示重復出現的次數。