學習Linux命令之 uniq

uniq


uniq 命令可以去除排序過的文件中的重複行,因此 uniq 經常和 sort 合用。也就是說,爲了使 uniq 起作用,所有的重複行必須是相鄰的。詳細看例一。

root@localhost:~/shell#uniq  -[icu]

選項與參數:

-i:    忽略大小寫字符的不同;

-c :    進行計數

-u :    只顯示唯一的行

-d:   只顯示有重複的行

-s  N:    忽略前面的N個符


例一:

#file文件內容

root@localhost:~/shell# cat file

Massachusetts

Virginia

Tulsa

Falls

Massachusetts

Virginia

View

Massachusetts


#不排序使用uniq,未去掉重複行

root@localhost:~/shell# cat file | uniq

Massachusetts

Virginia

Tulsa

Falls

Massachusetts

Virginia

View

Massachusetts


#排序之後使用uniq

root@localhost:~/shell# cat file | sort 

Falls

Massachusetts

Massachusetts

Massachusetts

Tulsa

View

Virginia

Virginia


#排序之後使用uniq,去相鄰的重複行

root@localhost:~/shell# cat file | sort | uniq

Falls

Massachusetts

Tulsa

View

Virginia


例二:

進行計數

root@localhost:~/shell# cat file | sort | uniq -c

      1 Falls

      3 Massachusetts

      1 Tulsa

      1 View

      2 Virginia


例三:

只顯示唯一的行

#uniq -u

root@localhost:~/shell# cat file | sort | uniq -u

Falls

Tulsa

View


例四:

-d 只顯示重複的行

root@localhost:~/shell# cat file | sort |uniq -d

Massachusetts

Virginia


例四:

忽略大小寫

root@localhost:~/shell# echo "vIEW" >> file

root@localhost:~/shell# cat file 

Falls

Massachusetts

Massachusetts

Massachusetts

Tulsa

view

View

Virginia

Virginia

root@localhost:~/shell# cat file | sort | uniq -i

Falls

Massachusetts

Tulsa

view

Virginia


例五:

-s N  忽略前面N個字符

root@localhost:~/shell# cat file | sort | uniq

Falls

Massachusetts

Tulsa

view

View

Virginia

root@localhost:~/shell# cat file | sort | uniq -s 1

Falls

Massachusetts

Tulsa

view

Virginia




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章