Posted on 2010-01-15 14:19
Prayer 閱讀(615)
評論(0) 編輯 收藏 引用 所屬分類:
Shell
sort命令將許多不同的域按不同的列順序分類。
1、sort選項
sort命令的一般格式為:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
下面簡要介紹一下s o r t的參數(shù):
-c 測試文件是否已經(jīng)分類。
-m 合并兩個分類文件。
-u 刪除所有復(fù)制行。
-o 存儲s o r t結(jié)果的輸出文件名。
其他選項有:
-b 使用域進行分類時,忽略第一個空格。
-n 指定分類是域上的數(shù)字分類。
-t 域分隔符;用非空格或t a b鍵分隔域。
-r 對分類次序或比較求逆。
+n n為域號。使用此域號開始分類。
n n為域號。在分類比較時忽略此域,一般與+ n一起使用。
post1 傳遞到m,n。m為域號,n為開始分類字符數(shù);例如4,6意即以第5域分類,從第7個字符開始。
2、sort啟動方式
缺省情況下, s o r t認為一個空格或一系列空格為分隔符。要加入其他方式分隔,使用- t選項。
sort執(zhí)行時,先查看是否為域分隔設(shè)置了- t選項,如果設(shè)置了,則使用它來將記錄分隔成域0、域1等等;
如果未設(shè)置,用空格代替。缺省時s o r t將整個行排序,指定域號的情況例外。
關(guān)于s o r t的一個重要事實是它參照第一個域作為域0,域1是第二個域,等等。
3、文件是否已分類
sort -c data.txt
4、sort分類求逆
如果要逆向s o r t結(jié)果,使用-r選項。
sort -t: -r video.txt
5、按指定域分類
有時需要只按第2域(分類鍵1)分類。
sort -t: +1 video.txt
6、數(shù)值域分類
用-n選項。必須用,不然得不到想要的結(jié)果。
sort -t: +3n video.txt
7、唯一性分類
使用- u選項進行唯一性(不重復(fù))分類以去除重復(fù)行。
8、使用k的其他sort方法
sort還有另外一些方法指定分類鍵。可以指定k選項。
sort -t: -k4 video.txt
使用k做分類鍵排序:
可以指定分類鍵次序。先以第4域,再以第1域分類,命令為-k4 -k1
sort -t: -k4 -k1 video.txt
9、指定sort序列
可以指定分類鍵順序,也可以使用- n選項指定不使用哪個分類鍵進行查詢。看下面的sort命令:
sort +0 -2 +3
該命令意即開始以域0分類,忽略域2,然后再使用域3分類。
10、pos用法
指定開始分類的域位置的另一種方法是使用如下格式:
sort +filed.characterin
意即從filed開始分類,但是要在此域的第characterin個字符開始。
11、使用head和tail將輸出分類
可以使用h e a d或t a i l查閱任何大的文本文件
head -200 filename
12、awk使用sort輸出結(jié)果
13、將兩個分類文件合并
將文件合并前,它們必須已被分類.
使用-m +0。將這個文件并入已存在的分類文件v i d e o . s o r t,要以名稱域進行分類,實際上沒有必要加入+ o,但為了保險起見,還是加上的好。
sort -t: -m +0 video2.txt video.sort