Я не уверен, что дело в доступности. Большинство систем, которые я когда-либо видел, имеют sort
и uniq
, поскольку они обычно предоставляются одним и тем же пакетом. Я только что проверил систему Solaris 2001 года, и у нее sort
есть опция -u
.
Технически, использование linux pipe (|
) запускает подоболочку и будет более ресурсоемким, поскольку запрашивает несколько pid из ОС.
Если вы перейдете к исходному коду для sort
, который входит в пакет coreutils
, вы можете видеть, что он на самом деле просто пропускает печать дубликатов, поскольку печатает свой собственный отсортированный список и не использует независимый uniq
код.
Чтобы увидеть, как это работает, перейдите по ссылке на источник сортировки и посмотрите функции под этим комментарием:
/* If uniquified output is turned on, output only the first of
an identical series of lines. */
Хотя я считаю, что sort -u
должен быть быстрее, прирост производительности на самом деле будет минимальным, если только вы не запускаете sort | uniq
с огромными файлами, так как ему придется снова считывать весь файл.
person
cmrust
schedule
09.03.2014