一、sort命令使用
1. 指定按數字排序:
[root@topinsight sort]#cat file1
paixu 4
hebing 1
weiyi 2
chongfu 3
[root@topinsight sort]#sort -n file1
chongfu 3
hebing 1
paixu 4
weiyi 2
2.逆序排序:
[root@topinsight sort]#sort -nr file1
weiyi 2
paixu 4
hebing 1
chongfu 3
3.檢查是否已經排序:
[root@topinsight sort]#cat file2 56
78[root@topinsight sort]#sort -c file1
sort:file1:2:無序: hebing 1
4.檢查是否按照數字排序:
[root@topinsight sort]#sort -cn file2
5.合併兩個檔案,並對結果進行排序:
[root@topinsight sort]#sort -m file1 file2 | sort56
78chongfu 3
hebing 1
paixu 4
weiyi 2
6.按照鍵或者列進行排序(預設列與列之間按照空格分開):
[root@topinsight sort]#cat file3
paixu 4
hebing 1
weiyi 2
chongfu 356
787.指定第二列(-k選項),按數字逆序排序
[root@topinsight sort]#sort -nrk 2 file3
paixu 4
chongfu 3
weiyi 2
hebing 187
658.指定非空格作為分隔符(-t選項):
[root@topinsight sort]#cat file4
paixu,4
hebing,1
weiyi,2
chongfu,356
78[root@topinsight sort]#sort -t ',' -nrk 2 file4
paixu,4
chongfu,3
weiyi,2
hebing,187
659.指定先按第2列,再按第三列排序(復合排序):
[root@topinsight sort]#cat data.txt
1 hellomy txt
1 hellomy ami
2 myname is
3 you are
4 nihao
5 amao
[root@topinsight sort]#sort -nk 2,3 data.txt
1 hellomy ami
1 hellomy txt
2 myname is
3 you are
4 nihao
5 amao
10.忽略檔案中的空白符號(-b選項):
[root@topinsight sort]#cat data2.txt
1 hellomy txt
2 myname is
4 nihao
5 amao
1 hellomy ami
3 you are
[root@topinsight sort]#sort -bnk 2,3 data2.txt
1 hellomy ami
1 hellomy txt
2 myname is
3 you are
4 nihao
5 amao
11.使用sort的結果作為xargs的引數時候,注意與find命令一樣需要指定字串終止符(\0)
[root@topinsight sort]#sort -nrk 2 file3 -z | xargs -0 echo
paixu 4
hebing 1
weiyi 2
chongfu 356
78二、uniq命令的用法
uniq命令用於對排序過的檔案進行去重操作:
1.排序後去重
[root@topinsight sort]#cat data3.txt
root
root
hxhx
root
foolson
manman
honghong
longlong
first
second
[root@topinsight sort]#sort data3.txt | uniq
first
foolson
honghong
hxlonglong
manroot
second
或者:[root@topinsight sort]#sort -u data3.txt
first
foolson
honghong
hxlonglong
manroot
second
2.只顯示沒有重複的行:
[root@topinsight sort]#sort data3.txt | uniq -u
first
foolson
honghong
longlong
second
3.找出重複的行:
[root@topinsight sort]#sort data3.txt | uniq -d
hxman
root
三、使用例項
1.例項1:
列出乙個字串包含的每個字元的個數:
[root@topinsight sort]#echo aabbcccaaccddabd | sed 's/[^.]/&\n/g' | sed '/^$/d' | sort -f | uniq -c
5 a1 b
2 b2 c
3 c3 d
2.例項2:
依據apache日誌,找出訪問ip,按照訪問日誌數排序:
shell中的uniq與sort命令
sort命令 sort命令通常用來排序,命令的一些常見用法 命令用法 說明sort n 純數字排序 sort r 倒敘sort u 去掉重複數字 sort o 輸出到指定檔案中 sort t 指定分隔符 sort k 指定要排序的列 sort rn 反向純數字排序 sort rn numbers o...
SHELL 文字處理(二) sort與uniq命令
sort n 純數字排序 r 倒序 u 去掉重複數字 o 輸出到指定檔案中 t 指定分隔符 k 指定要排序的列 root server sort westos 112 1232332 55167 root server sort n westos 12 3567 1232 51123 root se...
Shell基礎之 uniq命令
檢視sort和uniq去除重複行的區別 sort t k7 u etc passwd 去除passwd檔案中域7重複的行 cat etc passwd uniq 去除passwd檔案中域7重複的行 區別1 sort 可以對指定的域進行排序並且去除重複行 uniq 則不可以對某個相同的域進行去除,只能...