Можно проверить это довольно легкое с вещами как
Сравните вывод от
sudo env
env
И вещи как
sudo whoami
whoami
Тем путем можно попытаться узнать то, что отсутствует в установке.
Существует обходное решение при помощи grep
синтаксис regex для соответствия пустой строке вначале и концу слова!
# grep regex syntax for matching words only
man grep | less -p '\<'
# POSIX 1003.2 regular expression syntax for matching words only
# should work for sed, ed, ...
man re_format | less -p '\[\[:<:\]\]'
echo 'foo bar baz' | egrep -o '\<baz\>'
echo 'foo bar baz' | sed -n '/.*[[:<:]]\(baz\)[[:>:]].*/s//\1/p'
Если Вы настаиваете на том, чтобы использовать grep
-w
флаг, попробуйте предварительно скомпилированный Rudix 2010 grep
двоичный файл (grep-2.5.4-1.dmg).
Походит на ошибку мне. Если Вы не возражаете использовать grep
от macports (v 2.9) это ведет себя способ, которым Вы ожидаете.
2.5.1 кажется, далеко от последнего выпуска, но я предполагаю, что Вы могли попытаться заполнить ошибку Apple.
Кроме того, Вы могли установить более новую версию GNU grep через Домашнее пиво:
brew tap homebrew/dupes; brew install homebrew/dupes/grep
Затем сделайте следующее:
$ echo foo bar baz | /usr/local/bin/ggrep -o -w baz
baz
macports
вместо этого, если мне действительно был нужен он.
– Tyilo
02.12.2012, 19:45
В 10,8, /usr/bin/grep
был заменен другой версией grep, который, кажется, не имеет ту проблему:
$ echo foo bar baz | grep -o -w baz
baz
$ grep -V
grep (BSD grep) 2.5.1-FreeBSD
10.7:
$ echo foo bar baz | grep -o -w baz
foo bar baz
$ grep -V
grep (GNU grep) 2.5.1
Copyright 1988, 1992-1999, 2000, 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.