OS X hiện đi kèm với một sed FreeBSD từ năm 2005. Hầu hết các khác biệt dưới đây cũng áp dụng cho các phiên bản sed BSD khác.
Sử dụng sed của OS X cho sử dụng sed -EERE và GNU -r. -Elà một bí danh cho -rGNU sed (được thêm vào 4.2, không được ghi lại cho đến 4.3). Các phiên bản mới hơn của FreeBSD và NetBSD sed hỗ trợ cả -Evà -r. OpenBSD sed chỉ hỗ trợ -E.
-i ''hoạt động với sed của OS X nhưng không phải GNU sed. -ihoạt động với GNU sed, các phiên bản gần đây của NetBSD, OpenBSD sed, nhưng không phải là sed của OS X. -i -ehoạt động với cả hai nhưng trong trường hợp FreeBSD sedtạo bản sao lưu của tệp gốc có -egắn tên tệp (và bạn cần chuyển không quá một biểu thức cho sed).
GNU diễn giải sed chuỗi escape như \t, \n, \001, \x01, \w, và \b. Sed của OS X và sed POSIX chỉ diễn giải \n(nhưng không phải trong phần thay thế của s).
GNU sed phiên dịch \|, \+và \?trong BRE nhưng sed của POS X và sed POSIX thì không. \(, \), \{, Và \}là POSIX BRE.
GNU sed cho phép bỏ qua ;hoặc một dòng mới trước }nhưng sed của OS X thì không.
i(chèn), a(nối thêm) và c(thay đổi) phải được theo sau bởi dấu gạch chéo ngược và dòng mới trong sed và POSIX của OS X nhưng không phải trong GNU sed. GNU sed thêm một dòng mới mất tích sau khi văn bản chèn vào bởi i, ahoặc cnhưng OS X sed không. Ví dụ sed 1ialà một thay thế GNU cho sed $'1i\\\na\n'.
Ví dụ: printf a|sed -n pthêm một dòng mới trong sed của OS X nhưng không có trong GNU sed.
Sed X của OS X không hỗ trợ các bộ sửa đổi I(không phân biệt chữ hoa chữ thường) hoặc M(nhiều dòng). Các phiên bản mới hơn của hỗ trợ sed FreeBSD I.
Sed X của OS X không hỗ trợ -s( --separate), -u( --unbuffered) hoặc -z( --null-data).
Một tùy chọn BSD không được GNU sed hỗ trợ là -a, điều này làm cho việc wthêm vào một tệp thay vì cắt bớt một tệp.
Ví dụ về các lệnh GNU sed không hoạt động với sed của OS X:
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
sedtự tuân thủ vì nó làm những điều được cho phép (nhưng không bắt buộc, không xác định) theo tiêu chuẩn. Có những trường hợp nó không tuân thủ và việc chạy nóPOSIXLY_CORRECTtrong môi trường có thể giúp ích. Giống như vớis/[\n]//gđiều đó phải loại bỏ phản ứng dữ dội vànký tự nhưng thay vào đó loại bỏ dòng mới. Hoặc hành vi củaNlệnh trên dòng cuối cùng.