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