sort u 和uniq以及不想排序又想全文去重

2021-10-07 10:57:44 字數 1681 閱讀 1732

文字:

ddd

aaaddd

dddaaa

cccccc

dddccc

ccc

全文去重,並且排序

sort -u 1

sort  -u 1

aaaccc

ddd

相鄰去重

uniq 1

dddaaa

dddaaa

cccddd

ccc

sort命令支援很多引數,常用引數如下:

-n – number-sort 按字串數值排序,與-g區別為不轉為浮點數

-g –general-number-sort 按通用數值排序,支援科學計數法

-f –ignore-case 忽略大小寫,預設大小寫字母不同

-k –key=pos1[,pos2] 排序從pos1開始,若指定pos2,則pos2結束,否則以pos1排序

-t –field-separator=sep 指定列的分割符

-r –reverse 降序排序,預設為公升序

-h –human-numeric-sort 使用易讀性數字(例如: 2k 1g)

-u –unique 去除重複的行

-o –output=file 將輸出寫入檔案

uniq 引數

-c, --count 在每行前加上表示相應行目出現次數的字首編號

-d, --repeated 只輸出重複的行

-d, --all-repeated[=delimit-method 顯示所有重複的行

delimit-method=

以空行為界限

-f, --skip-fields=n 比較時跳過前n 列

-i, --ignore-case 在比較的時候不區分大小寫

-s, --skip-chars=n 比較時跳過前n 個字元

-u, --unique 只顯示唯一的行

-z, --zero-terminated 使用』\0』作為行結束符,而不是新換行

-w, --check-chars=n 對每行第n 個字元以後的內容不作對照

–help 顯示此幫助資訊並退出

–version 顯示版本資訊並退出

uniq 不會檢查重複的行,除非它們是相鄰的行。如果您想先對輸入排序,使用沒有uniq 的"sort -u"。

如果不想排序又想全文去重:

cat 1 |

awk';a[$0];}'

dddaaa

ccc

」!」 即非;

a[$0],以$0為資料下標,建立陣列a

awk中的陣列是關聯陣列,特點就是,她的下標可以是整數,也可以是負數,或者是字串。下標是可以不連續的。awk 的起始預設下標是1,而不是0

引用awk的基本方法是

array[index]

需要注意的是,此引用方式除非方括號中是變數,否則需要加上雙引號。如果下標是數字,那就可以不遵守了。

awk 命令種的 變數

 $0代表整個文字行;

 $1代表文字行中的第1個資料字段;

 $2代表文字行中的第2個資料字段;

 $n代表文字行中的第n個資料字段。

選擇排序和氣泡排序方法以及區別

我來講講我學習選擇排序和氣泡排序的一些心得體會,這兩個方法都可以排序,看起來也有點相似,容易搞混,其實區別也是比較明顯的。選擇排序通俗點說就是一列數中,用第乙個位置的數和後面位置的數依次去比較。如果從大到小排序就是第一位置的數和後面的依次比較,例如第一位置的數大於第二位置,那麼不交換位置,第一位置繼...

插入排序以及和氣泡排序的區別

插入排序 每次從輸入資料中移除乙個元素並將其插入已排序序列的正確位置,直到所有輸入元素都插入有序序列中。插入排序適用於資料幾乎都已經排序或者輸入資料規模較小時可以使用插入排序。什麼意思呢?舉個例子 例如 給定乙個序列 6 8 1 4 5 3 7 2 可以看出插入排序是從後面的序列中取出乙個數然後插入...

陣列排序 和查詢 以及Arrays類

a 氣泡排序 相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處 int arr system.out.println 排序前 printarray arr bubblesort arr system.out.println 排序後 printarray arr 氣泡排序 publi...