OS X в даний час поставляється з FreeBSD sed від 2005 року. Більшість відмінностей нижче стосуються також інших версій BSD sed.
Sed X OS використовує -Eдля ERE та GNU sed -r. -Eє псевдонімом -rу GNU sed (додано в 4.2, не задокументовано до 4.3). Новіші версії FreeBSD та NetBSD sed підтримують і -Eта, і ін -r. OpenBSD sed підтримує тільки -E.
-i ''працює з sed X OS, але не GNU sed. -iпрацює з GNU sed, останніми версіями NetBSD, OpenBSD sed, але не sed X OS. -i -eпрацює з обома, але у випадку FreeBSD sedробить резервну копію вихідного файлу з -eдодаванням до імені файлу (і вам потрібно передати не більше одного виразу sed).
GNU SED інтерпретує керуючі послідовності , як \t, \n, \001, \x01, \w, і \b. Sed X OS і POSIX sed інтерпретують лише \n(але не в замінній частині s).
GNU sed інтерпретує \|, \+і \?в BRE, але sed X OS і POSIX sed не відповідають. \(, \), \{, І \}є POSIX BRE.
GNU sed дозволяє опускати ;або новий рядок раніше, }але sed X OS не робить.
i(вставка), a(додавання) та c(зміна) повинні супроводжуватися зворотною косою рискою та новою лінією в sed X OS та POSIX sed, але не в GNU sed. GNU СЕД додає бракуючий символ нового рядка після тексту , вставлений i, aабо cале OS X в SED не робить. Наприклад sed 1ia, альтернатива GNU sed $'1i\\\na\n'.
Наприклад, printf a|sed -n pдодається новий рядок в sed X OS, але не в GNU sed.
Sed X OS не підтримує I(нечутливі до регістру) або M(багаторядкові) модифікатори. Новіші версії підтримки FreeBSD sed I.
Sed X OS не підтримує -s( --separate), -u( --unbuffered) або -z( --null-data).
Один варіант BSD, який не підтримується GNU sed, - -aце wдодавання до файлу, а не обрізання файлу.
Приклади команд GNU sed, які не працюють з sed X OS:
sed /pattern/,+2d # like `sed '/pattern/{N;N;d;}'`
sed -n 0~3p # like `awk NR%3==0`
sed /pattern/Q # like `awk '/pattern/{exit}1'` or `sed -n '/pattern/,$!p'`
sed 's/\b./\u&/g' # \u converts the next character to uppercase
sed 's/^./\l&/' # \l converts the next character to lowercase
sed -i '1ecat file_to_prepend' file # e executes a shell command
sed -n l0 # 0 disables wrapping
sedСам GNU відповідає сумісності, оскільки робить речі, дозволені (але не обов'язкові, не визначені) стандартом. Бувають випадки, коли це не сумісне і де його використанняPOSIXLY_CORRECTв навколишньому середовищі може допомогти. Як і зs/[\n]//gцим, необхідно видалити люфт іnсимволи, але замість цього видалити нові рядки. Або поведінкуNкоманди в останньому рядку.