ওএস এক্স বর্তমানে একটি ফ্রিবিএসডি সেডের সাথে 2005 সাল থেকে আসে below নীচের বেশিরভাগ পার্থক্যগুলি অন্যান্য বিএসডি সেড সংস্করণগুলিতেও প্রযোজ্য।
ওএস এক্স এর সেড -E
ইআর এবং জিএনইউ সেড ব্যবহারের জন্য ব্যবহার করে -r
। জিএনইউ সেডের -E
একটি উপনাম -r
(৪.২-তে যুক্ত হয়েছে, ৪.৩ পর্যন্ত ডকুমেন্টেড নয়)। FreeBSD 'র এবং NetBSD বা কিন্তু এর একটি নবীনতর সংস্করণ উভয় সমর্থন -E
এবং -r
। ওপেনবিএসডি সেড কেবল সমর্থন করে -E
।
-i ''
ওএস এক্স এর সিডের সাথে কাজ করে তবে জিএনইউ সেড নয়। -i
জিএনইউ সেডের সাথে কাজ করে, নেটবিএসডি, ওপেনবিএসডি এর সাম্প্রতিক সংস্করণ sed
, তবে ওএস এক্স এর সেড নয়। -i -e
উভয়ের সাথেই কাজ করে তবে ফ্রিবিএসডি ক্ষেত্রে ফাইলের নামের sed
সাথে -e
যুক্ত হয়ে মূল ফাইলটির ব্যাকআপ তৈরি করে (এবং আপনার কাছে একাধিক এক্সপ্রেশন পাস করার দরকার নেই sed
)।
গনুহ sed ব্যাখ্যা মত সিকোয়েন্স অব্যাহতি \t
, \n
, \001
, \x01
, \w
, এবং \b
। ওএস এক্স এর সেড এবং পসিক্স সেড কেবল ব্যাখ্যা করে \n
(তবে এর প্রতিস্থাপন অংশে নয় s
)।
জিএনইউ সেড ব্যাখ্যা করে \|
, \+
এবং \?
বিআরই তে কিন্তু ওএস এক্স এর সেড এবং পসিক্স সেড করে না। \(
, \)
, \{
, এবং \}
POSIX BRE হয়।
জিএনইউ সেড বাদ দেওয়ার ;
আগে বা একটি নতুন লাইন অনুমতি দেয় }
তবে ওএস এক্স এর সেড দেয় না।
i
(সন্নিবেশ), a
(সংযোজন), এবং c
(পরিবর্তন) একটি ব্যাকস্ল্যাশ এবং ওএস এক্স এর সেড এবং পসিক্স সেডে একটি নতুন লাইন অনুসরণ করতে হবে তবে জিএনইউ সেডে নয়। গনুহ কিন্তু টেক্সট দ্বারা সন্নিবেশিত পর একটি অনুপস্থিত সম্পর্কে newline যোগ i
, a
অথবা c
কিন্তু OS X এর এর sed না। উদাহরণস্বরূপ sed 1ia
একটি জিএনইউ বিকল্প sed $'1i\\\na\n'
।
উদাহরণস্বরূপ printf a|sed -n p
, ওএস এক্স এর সেডে একটি নতুন লাইন যুক্ত হয়েছে তবে জিএনইউ সেডে নয়।
ওএস এক্স এর শেড I
(কেস-সংবেদনশীল) বা M
(মাল্টি-লাইন) সংশোধকগুলিকে সমর্থন করে না । ফ্রিবিএসডি এর নতুন সংস্করণগুলি সেড সমর্থন I
।
ওএস এক্স এর সেড -s
( --separate
), -u
( --unbuffered
), বা -z
( --null-data
) সমর্থন করে না ।
এক বাসদ বিকল্পটি গনুহ দ্বারা সমর্থিত নয় sed হয় -a
, যার ফলে w
এর পরিবর্তে একটি ফাইল ছিন্ন একটি ফাইলে লিখবেন।
জিএনইউ সেড কমান্ডগুলির উদাহরণ যা ওএস এক্স এর সিডের সাথে কাজ করে না:
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
মানক দ্বারা জিনিসগুলি অনুমোদিত (তবে প্রয়োজনীয় নয়, অনির্ধারিত) হিসাবে জিএনইউ নিজেই অনুগত l এমন কিছু ঘটনা রয়েছে যেখানে এটি অনুগত নয় এবং যেখানেPOSIXLY_CORRECT
পরিবেশে এটি চালানো সাহায্য করতে পারে। এটির মতোs/[\n]//g
অবশ্যই ব্যাকল্যাশ এবংn
অক্ষরগুলি অবশ্যই সরিয়ে ফেলতে হবে তবে পরিবর্তে নতুন লাইনগুলি সরিয়ে ফেলতে হবে। বাN
শেষ লাইনে কমান্ডের আচরণ ।