Странное поведение uniq на ракушках Дарвина - PullRequest
4 голосов
/ 18 апреля 2011

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

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

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

Ответы [ 2 ]

6 голосов
/ 18 апреля 2011

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

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

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

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

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

1 голос
/ 18 апреля 2011

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

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