uniq 是將重複資料過濾的工具, 加上 -c 參數會計算每個結果的數量, 但它會在輸出結果前加入空格, 例如:
1 2 3 4 5 6 7 8 9 10 |
6 ip1 2 ip2 2 ip3 2 ip4 2 ip5 2 ip6 2 ip7 2 ip8 2 ip9 1 ip10 |
如果要刪除統計結果前的空格, uniq 本身不能實現, 需要借助其他指令, 將輸出結果用管線 pipe 放到 sed 或 grep 來去除前面的空格, 例如:
sed:
- $ sort | uniq -c | sed ‘s/^ *//’
grep:
- $ sort | uniq -c | grep -Po ‘\d.*’