sort 命令解釋:
功能說明:將文字檔案內容加以排序。
sort -u
[file] = sort [file] | uniq (去重)
參數說明
-b 忽略每行前面開始出的空格字元
-c 檢查檔是否已經按照順序排序
-d 排序時,處理英文字母、數位及空格字元外,忽略其他的字元
-f 排序時,將小寫字母視為大寫字母
-m 將幾個排序好的檔進行合併
-M 將前面3個字元依照月份的縮寫進行排序
-n 依照數值的大小排序
-o<輸出檔> 講排序後的結果存入指定的檔
-r 以相反的順序來排序
-t<分隔字元> 指定排序時所用的欄位元分割字元
+<起始欄位>-<結束欄位> 以指定的欄位來排序,範圍由起始蘭位到結束欄位的前一欄位
--help 顯示幫助
--version 顯示版本資訊
-u 對排序後認為相同的行只留其中一行
uniq 命令解釋:
功能說明:檢查及刪除文字檔案中重複出現的行列。
語法:uniq[選項] 檔
最重要參數: 默認(去重) | -d(顯重) | -u(刪重)
參數
-c或--count 在每列旁邊顯示該行重複出現的次數
-d或--repeat 僅顯示重複出現的行列
-f<欄位>或--skip-fields=<欄位> 忽略比較指定的欄位
-s<字元位置>或--skip-chars=<字元位置> 忽略比較指定的字元
-u或--unique 僅顯示出一次的行列
-w<字元位置>或--check-chars<字元位置> 指定要比較的字元
--help 幫助資訊
--version 版本資訊
comm 命令詳解:
功能說明:比較兩個已排序的文件
語法: comm [-123][--help][--version][第一個檔][第二個檔]
補 充說明:這項指令會一列列的比較兩個已排序檔的差異,並將其結果顯示出來。如果沒有指定任何參數,則會把結果分成3行顯示,第1行是僅在第一個檔中出 現的列,第2行是僅在第二個檔中出現過的列,第3行則是在兩個檔中都出現過的列。若給予的檔案名稱是"-",則comm指令會從標準輸入設備中讀取數 據。
參數:
-1 不顯示在第1個檔中出現的列
-2 不顯示在第2個檔中出現的列
-3 不顯示只在第1或第2個檔中出現的列
選項1 2和3抑制相應的列顯示,例如
comm -12 顯示兩個檔中都出現的行
comm -23 顯示在第1個檔出現,而不是在第2個檔出現的行
comm -123 什麼都不顯示
注意:
uniq 和 comm 命令需要使用已經排序好的內容才有意義。
注意檔格式要為unix
一些例子:
第一:兩個文件的交集,並集
前提條件:兩個檔不得有重複的行(即兩個檔都要去重)
1. 取出兩個檔的並集 cat file1 file2 | sort | uniq >file3
2. 取出兩個檔的交集 cat file1 file2 | sort | uniq -d >file3
3. 刪除交集 cat file1 file2 | sort |uniq -u <file3
第二:兩個檔合併
1. 一個在上一個在下 cat file1 files2 >file3
2. 一個在左一個在右 paste file1 file2 >file3
第三:一個檔去掉重複行
1. sort file | uniq 把重複的行合併為一行
2. sort file | uniq -u 把重複的行刪除,僅保留非重複的行
轉自:http://blog.csdn.net/xwhself/article/details/6118722
轉自:http://blog.csdn.net/xwhself/article/details/6118722
沒有留言:
張貼留言