Странное поведение uniq на раковинах Дарвина

Я использовал файл uniq -d -c во многих сценариях оболочки на Linux-машинах, и он работает. На моем MAC (OS X 10.6.7 с установленными инструментами разработчика) он не работает:

$ uniq -d -c testfile.txt 
usage: uniq [-c | -d | -u] [-i] [-f fields] [-s chars] [input [output]]

Было бы хорошо, если бы кто-нибудь мог проверить это.

Ответ 1

Ну, это прямо там в сообщении Usage. [ -c | -d | -u] означает, что вы можете использовать одну из этих возможностей, а не две.

Так как OSX основан на BSD, вы можете проверить, что здесь, или, благодаря Ignacio, более специфичный для Apple здесь.

Если вы хотите получить аналогичный вывод, вы можете использовать:

do_your_thing | uniq -c | grep -v '^ *1 '

который вычеркнет все эти коалесцированные линии, которые имеют счетчик.

Ответ 2

Вы можете попробовать это awk решение

awk '{a[$0]++}END{for(i in a)if(a[i]>1){ print i ,a[i] } }' file