OS X saat ini hadir dengan sed FreeBSD dari tahun 2005. Sebagian besar perbedaan di bawah ini juga berlaku untuk versi sed BSD lainnya.
Penggunaan OS X -Euntuk ERE dan penggunaan GNU -r. -Eadalah alias untuk -rdalam GNU sed (ditambahkan pada 4.2, tidak didokumentasikan hingga 4.3). Versi FreeBSD dan NetBSD yang lebih baru mendukung keduanya -Edan -r. OpenBSD hanya mendukung sed -E.
-i ''bekerja dengan sed OS X tetapi tidak sed GNU. -ibekerja dengan GNU sed, versi terbaru NetBSD, OpenBSD sed, tetapi tidak untuk OS X. -i -ebekerja dengan keduanya tetapi dalam kasus FreeBSD sedmembuat cadangan dari file asli dengan -editambahkan ke nama file (dan Anda harus memberikan tidak lebih dari satu ekspresi ke sed).
GNU menafsirkan sed melarikan diri urutan seperti \t, \n, \001, \x01, \w, dan \b. OS X dan sed POSIX hanya menafsirkan \n(tetapi tidak di bagian penggantian s).
GNU sed menginterpretasikan \|,, \+dan \?dalam BRE tetapi OS X dan sed POSIX tidak. \(, \), \{, Dan \}adalah POSIX BRE.
GNU sed memungkinkan penghilangan ;atau baris baru sebelumnya }tetapi sed OS X tidak.
i(masukkan), a(tambahkan), dan c(ubah) harus diikuti oleh garis miring terbalik dan baris baru dalam OS X dan sed POSIX tetapi tidak dalam GNU sed. GNU sed menambahkan baris baru hilang setelah teks yang dimasukkan oleh i, aatau ctapi OS X sed tidak. Sebagai contoh sed 1iaadalah alternatif GNU untuk sed $'1i\\\na\n'.
Misalnya printf a|sed -n pmenambahkan baris baru di sed OS X tetapi tidak di sed GNU.
Sed OS X tidak mendukung pengubah I(case-insensitive) atau M(multi-line). Dukungan FreeBSD versi terbaru I.
Sed OS X tidak mendukung -s( --separate), -u( --unbuffered), atau -z( --null-data).
Salah satu opsi BSD yang tidak didukung oleh GNU sed adalah -a, yang membuat wmenambahkan ke file bukannya memotong file.
Contoh perintah sed GNU yang tidak berfungsi dengan sed 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
seditu sendiri patuh karena melakukan hal-hal yang diperbolehkan (tetapi tidak wajib, tidak ditentukan) oleh standar. Ada kasus di mana itu tidak sesuai dan di mana menjalankannya denganPOSIXLY_CORRECTlingkungan dapat membantu. Suka dengans/[\n]//gitu harus menghapus serangan balik dannkarakter tetapi hapus baris baru sebagai gantinya. Atau perilakuNperintah di baris terakhir.