هذا هو الأمر sedposix الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
sed - محرر الدفق
موجز
عطش [-ن] سيناريو [ملف ]
عطش [-ن] ه سيناريو [ه سيناريو] [− و script_file] [ملف ]
عطش [-ن] [ه سيناريو]... -و script_file [− و script_file] [ملف ]
الوصف
تشير عطش الأداة المساعدة عبارة عن محرر دفق يقوم بقراءة ملف نصي واحد أو أكثر وإجراء التحرير
يتغير وفقًا لبرنامج نصي لأوامر التحرير ، واكتب النتائج وفقًا للمعيار
انتاج. يجب الحصول على البرنامج النصي إما من سيناريو سلسلة المعامل أو أ
مزيج من وسيطات الخيار من ه سيناريو − و script_file خيارات.
OPTIONS
تشير عطش يجب أن تتوافق المنفعة مع حجم التعريفات الأساسية لـ POSIX.1-2008 ، القسم
12.2, مرافق بناء الجملة التوجيهات، إلا أن ترتيب عرض ه − و
الخيارات كبيرة.
يجب دعم الخيارات التالية:
ه سيناريو قم بإضافة أوامر التحرير المحددة بواسطة سيناريو وسيطة الخيار حتى نهاية
نص أوامر التحرير.
− و script_file
أضف أوامر التحرير في الملف script_file إلى نهاية البرنامج النصي ل
أوامر التحرير.
-ن قمع الإخراج الافتراضي (حيث يتم فحص كل سطر بعد فحصه
التحرير، مكتوب إلى الإخراج القياسي). فقط الخطوط المحددة صراحةً لـ
تتم كتابة الإخراج.
لو اي ه or − و يتم تحديد الخيارات، ويجب أن يكون البرنامج النصي لأوامر التحرير في البداية
فارغ. الأوامر المحددة من قبل كل ه or − و يجب إضافة الخيار إلى البرنامج النصي في
الطلب المحدد. عند إجراء كل إضافة، إذا كانت الإضافة السابقة (إن وجدت) من أ
ه الخيار ، أ يجب إدخالها قبل الإضافة الجديدة. النص الناتج
يجب أن يكون لها نفس خصائص سيناريو المعامل الموضح في قسم العمليات.
العمليات
يجب دعم المعاملات التالية:
ملف اسم مسار ملف تتم قراءة محتوياته وتحريرها. إذا كانت متعددة ملف
يتم تحديد المعاملات، ويجب قراءة الملفات المسماة بالترتيب المحدد و
يجب تحرير التسلسل. إذا كان الجواب لا ملف يتم تحديد المعاملات ، و
يجب استخدام المدخلات القياسية.
سيناريو سلسلة يتم استخدامها كنص لأوامر التحرير. لا يجوز التطبيق
تقديم سيناريو ينتهك قيود الملف النصي باستثناء أن
الحرف النهائي لا يجب أن يكون أ .
ستدين
يجب استخدام المدخلات المعيارية إذا كانت الإجابة "لا" ملف المعاملات محددة ، ويجب استخدامها إذا أ
ملف المعامل هو "-" والتنفيذ يعالج "-" كمعنى المدخلات القياسية.
خلاف ذلك ، لا يجوز استخدام المدخلات القياسية. راجع قسم ملفات الإدخال.
INPUT FILES
يجب أن تكون ملفات الإدخال ملفات نصية. ال script_fileاسمه من قبل − و يجب أن يتكون الخيار
من أوامر التحرير
البيئة المتغيرات
يجب أن تؤثر متغيرات البيئة التالية على تنفيذ عطش:
لانج قم بتوفير قيمة افتراضية لمتغيرات التدويل غير المضبوطة أو
باطل. (انظر حجم التعريفات الأساسية لـ POSIX.1-2008 ، القسم 8.2,
التجارة في الخارج المتغيرات لأسبقية التدويل
المتغيرات المستخدمة لتحديد قيم الفئات المحلية.)
LC_ALL إذا تم التعيين على قيمة سلسلة غير فارغة ، فتجاوز قيم جميع القيم الأخرى
متغيرات التدويل.
LC_COLLATE
تحديد الإعدادات المحلية لسلوك النطاقات وفئات التكافؤ ومتعدد
عناصر تجميع الأحرف داخل التعبيرات العادية.
LC_CTYPE تحديد الإعدادات المحلية لتفسير تسلسل بايت من البيانات النصية
كأحرف (على سبيل المثال ، أحادية البايت بدلاً من أحرف متعددة البايت بتنسيق
الحجج وملفات الإدخال) ، وسلوك فئات الأحرف داخل النظام العادي
التعبيرات.
رسائل LC
حدد الإعدادات المحلية التي يجب استخدامها للتأثير على تنسيق ومحتويات
رسائل التشخيص المكتوبة على خطأ قياسي.
نلسباث تحديد موقع كتالوجات الرسائل لمعالجتها رسائل LC.
غير متزامن فعاليات
افتراضي.
STDOUT
يجب أن تتم كتابة ملفات الإدخال إلى الإخراج القياسي، مع تحديد أوامر التحرير
في البرنامج النصي المطبق. إذا -ن يتم تحديد الخيار ، فقط خطوط الإدخال المحددة بواسطة
يجب كتابة البرنامج النصي إلى الإخراج القياسي.
ستدير
يجب استخدام الخطأ القياسي فقط لرسائل التشخيص.
OUTPUT FILES
يجب أن تكون ملفات الإخراج عبارة عن ملفات نصية تعتمد تنسيقاتها على أوامر التحرير
معطى.
وسعوا الوصف
تشير سيناريو يجب أن تتكون من أوامر التحرير بالشكل التالي:
[العنوان[,العنوان]]وظيفة
أين وظيفة يمثل فعل أمر مكون من حرف واحد من القائمة الموجودة تحرير
أوامر in عطش، متبوعة بأي وسيطات قابلة للتطبيق.
يمكن أن يسبق الأمر الشخصيات و/أو الشخصيات. ال
يمكن أن يسبق الدالة الشخصيات. يجب ألا تحتوي هذه الأحرف الاختيارية على أي
تأثير.
في العملية الافتراضية، عطش يجب بشكل دوري إلحاق سطر من المدخلات، ناقصًا إنهائه
حرف، في مساحة النمط. يجب تخطي القراءة من المدخلات إذا أ
كان في مساحة النمط قبل أ D أمر إنهاء الدورة السابقة. ال عطش
يجب بعد ذلك تطبيق الأداة المساعدة بالتسلسل على جميع الأوامر التي تحدد عناوينها هذا النمط
مسافة، حتى يبدأ الأمر الدورة التالية أو يتم إنهاؤه. إذا لم تبدأ أي أوامر بشكل صريح أ
دورة جديدة ، ثم في نهاية البرنامج النصي يتم نسخ مساحة النموذج إلى المعيار
الإخراج (باستثناء متى -ن تم تحديده) ويجب حذف مساحة النمط. كلما
تتم كتابة مساحة النمط إلى الإخراج القياسي أو ملف مسمى، عطش يجب أن يتبع على الفور
مع أ .
تستخدم بعض أوامر التحرير مساحة تعليق لحفظ مساحة النمط بالكامل أو جزء منها
الاسترجاع اللاحق. يجب أن يكون النموذج ومساحات التخزين قادرة على استيعاب 8192 على الأقل
بايت.
العناوين in عطش
العنوان هو إما رقم عشري يحسب سطور الإدخال بشكل تراكمي عبر الملفات ، أ
"$" الحرف الذي يتناول السطر الأخير من الإدخال، أو عنوان السياق (الذي يتكون من
من BRE، كما هو موضح في منتظم التعبيرات in عطش، يسبقها ويتبعها أ
المحدد ، عادة ما يكون أ ).
يجب على أمر التحرير الذي لا يحتوي على عناوين تحديد كل مساحة نمط.
يجب أن يحدد أمر التحرير بعنوان واحد كل مساحة نمط تطابق
عنوان.
يجب على أمر التحرير الذي يحتوي على عنوانين تحديد النطاق الشامل من الأول
مساحة النمط التي تطابق العنوان الأول من خلال مساحة النمط التالية التي تطابق
الثاني. (إذا كان العنوان الثاني رقمًا أقل من أو يساوي رقم السطر أولاً
المحدد، يجب تحديد سطر واحد فقط.) بدءًا من السطر الأول الذي يلي
النطاق المحدد، عطش يجب أن تبحث مرة أخرى عن العنوان الأول. بعد ذلك، تتم العملية
تتكرر. حذف أحد أو كليهما من مكونات العنوان في النموذج التالي
ينتج نتائج غير محددة:
[العنوان[,العنوان]]
منتظم التعبيرات in عطش
تشير عطش يجب أن تدعم الأداة BREs الموصوفة في مجلد التعريفات الأساسية
POSIX.1-2008 ، القسم 9.3, Basic منتظم التعبيرات، مع الإضافات التالية:
* في سياق العنوان البناء "\cBREc"، حيث c هو أي حرف آخر غير
أو ، يجب أن تكون متطابقة "/ BRE /". إذا كان الحرف المعين
by c يظهر بعد أ ، فيعتبر ذلك حرفيًا
الشخصية، والتي لا تؤدي إلى إنهاء BRE. على سبيل المثال، في عنوان السياق
"\xabc\xdefx"، الثاني x تقف عن نفسها، بحيث يكون BRE "ابكإكسديف".
* تسلسل الهروب '\ن' يجب أن يتطابق مع أ جزءا لا يتجزأ من مساحة النمط. أ
حرفي لا يجوز استخدامه في BRE لعنوان السياق أو في
وظيفة بديلة.
* إذا كان RE فارغًا (أي لم يتم تحديد نمط) عطش يجب أن تتصرف كما لو كان الأخير
RE المستخدمة في الأمر الأخير المطبق (إما كعنوان أو كجزء من بديل
الأمر) تم تحديده.
تحرير أوامر in عطش
في القائمة التالية لأوامر التحرير ، الحد الأقصى لعدد العناوين المسموح بها لـ
تتم الإشارة إلى كل وظيفة بواسطة [0addr[،]1addr]، أو [2addr]، يمثل صفرًا أو واحدًا أو اثنين
عناوين.
الحجة نص يجب أن تتكون من سطر واحد أو أكثر. كل مضمن في النص
يجب أن يسبقه أ . آخر يجب أن تكون الأحرف في النص
تمت إزالته، ويجب التعامل مع الحرف التالي حرفيًا.
تشير r w أفعال الأمر، و w العلم ل s أمر، خذ rfile (أو wfile)
معلمة مفصولة عن فعل الأمر حرف أو علامة بواحد أو أكثر
الشخصيات؛ قد تسمح التطبيقات بالفصل الصفري كامتداد.
الحجة rfile أو الحجة wfile يجب إنهاء أمر التحرير. كل wfile
يجب أن يتم إنشاؤها قبل بدء المعالجة. يجب أن تدعم عمليات التنفيذ عشرة على الأقل
wfile الحجج في البرنامج النصي. العدد الفعلي (أكبر من أو يساوي 10) أي
بدعم من التنفيذ غير محدد. استخدام wfile يجب أن تسبب المعلمة
هذا الملف الذي سيتم إنشاؤه في البداية، إذا لم يكن موجودًا، أو سيحل محل محتوياته
ملف موجود.
تشير b, r, s, t, w, yو : يجب أن تقبل أفعال الأمر وسائط إضافية. الأتى
تشير الملخصات إلى الوسيطات التي يجب فصلها عن أفعال الأمر بواحد
.
تشير a r أوامر جدولة النص لإخراج لاحق. النص المحدد ل a أمر،
ومحتويات الملف المحدد ل r الأمر، يجب أن تكون مكتوبة وفقا للمعايير
الإخراج مباشرة قبل المحاولة التالية لجلب سطر من الإدخال عند تنفيذ الأمر N or n
الأوامر، أو عند الوصول إلى نهاية البرنامج النصي. إذا كتب عند الوصول إلى نهاية
النصي و -ن لم يتم تحديد الخيار، يجب كتابة النص بعد نسخ
مساحة النمط إلى الإخراج القياسي. محتويات الملف المحدد ل r أمر
اعتبارًا من وقت كتابة الإخراج ، وليس وقت كتابة r يتم تطبيق الأمر. ال
يجب إخراج النص بالترتيب الذي يتم به a r تم تطبيق الأوامر على الإدخال.
أفعال الأمر بخلاف {, a, b, c, i, r, t, w, :و # يمكن أن يتبعه أ
، خياري الأحرف، وفعل أمر آخر. ومع ذلك، عندما s
يستخدم فعل الأمر مع w العلم، ومتابعته بأمر آخر بهذه الطريقة
تنتج نتائج غير محددة.
يمكن أن يسبق الوظيفة بواحد أو أكثر "!" الأحرف، وفي هذه الحالة الوظيفة
سيتم تطبيقه إذا لم تحدد العناوين مساحة النمط. صفر أو أكثر
يجب قبول الأحرف قبل الأول "!" شخصية. ومن غير المحدد ما إذا كان
يمكن أن تتبع الشخصيات أ "!" الطابع، ويجب ألا تكون التطبيقات المطابقة
اتبع أ "!" شخصية مع الشخصيات.
[2addr] {التحرير أمر
التحرير أمر
} تنفيذ قائمة عطش أوامر التحرير فقط عند تحديد مساحة النمط.
لائحة عطش يجب أن تكون أوامر التحرير محاطة بأقواس ويفصل بينها
الشخصيات، وتتوافق مع القواعد التالية. يمكن أن تكون الأقواس
يسبقه أو يتبعه الشخصيات. يمكن أن تكون أوامر التحرير مسبوقة
بواسطة الأحرف ، ولكن لا يجب أن يتبعها الشخصيات. ال
يجب أن يسبق أ ويمكن أن يسبقه أو يتبعه
بواسطة الشخصيات.
[1addr]أ\
نص اكتب نصًا إلى الإخراج القياسي كما هو موضح سابقًا.
[2addr]b [ملصق]
فرع ل : وظيفة تحمل ملصق. إذا ملصق لم يتم تحديد فرع
إلى نهاية البرنامج النصي. يجب أن يدعم التنفيذ ملصقتم التعرف عليه على أنه
فريد يصل إلى 8 أحرف على الأقل؛ الطول الفعلي (أكبر من أو يساوي
8) التي يجب أن يدعمها التنفيذ غير محدد. إنها
غير محدد ما إذا كان تجاوز طول التسمية يسبب خطأ أو صمتًا
اقتطاع.
[2addr]ج\
نص احذف مساحة النمط. مع عنوان 0 أو 1 أو في نهاية عنوان 2
النطاق والمكان نص على الإخراج وابدأ الدورة التالية.
[2addr]d احذف مساحة النمط وابدأ الدورة التالية.
[2addr]D إذا كانت مساحة النمط لا تحتوي على ، احذف مساحة النمط وابدأ
دورة جديدة طبيعية كما لو كان d صدر الأمر. خلاف ذلك ، احذف الحرف الأول
جزء من مساحة النمط من خلال الأول ، وابدأ التالي
دورة مع مساحة النمط الناتجة وبدون قراءة أي مدخلات جديدة.
[2addr]g استبدل محتويات مساحة النمط بمحتويات مساحة الحجز.
[2addr]G إلحاق بمساحة النمط أ تليها محتويات الحجز
الفضاء.
[2addr]h استبدل محتويات مساحة الحجز بمحتويات مساحة النمط.
[2addr]H إلحاق بمساحة الحجز أ متبوعًا بمحتويات النمط
الفضاء.
[1addr]أنا\
نص كتابة نص لمعيار الإخراج.
[2addr]l (الحرف ell.) اكتب مساحة النمط إلى الإخراج القياسي بشكل مرئي
شكل لا لبس فيه. الأحرف المدرجة في مجلد التعريفات الأساسية لـ
POSIX.1-2008 ، طاولات ومكاتب 5-1, هرب متواليات المستشفيات الإجراءات ("\\", '\أ',
'\ب', '\F', "\ r", "\ t", '\الخامس') يجب كتابته على أنه الهروب المقابل
تسلسل؛ ال '\ن' في هذا الجدول لا ينطبق. الأحرف غير القابلة للطباعة لا
في هذا الجدول يجب كتابته كرقم ثماني مكون من ثلاثة أرقام (مع ما يسبقه
) لكل بايت في الحرف (البايت الأكثر أهمية أولاً).
يتم طي الخطوط الطويلة ، مع تحديد نقطة الطي بالكتابة أ
متبوعة ب ; الطول الذي يحدث عنده الطي هو
غير محدد ، ولكن يجب أن يكون مناسبًا لجهاز الإخراج. نهاية كل
يجب أن يتم وضع علامة على الخط ب "$".
[2addr]n اكتب مساحة النمط إلى الإخراج القياسي إذا لم يكن الإخراج الافتراضي
تم قمعها، واستبدل مساحة النمط بسطر الإدخال التالي، مع تقليل مساحة النمط
إنهاء .
في حالة عدم توفر سطر الإدخال التالي، سيتم n يجب أن يتفرع فعل الأمر إلى
نهاية البرنامج النصي والخروج دون بدء دورة جديدة.
[2addr]N إلحاق السطر التالي من الإدخال، مع تقليل إنهائه ، إلى النمط
الفضاء، وذلك باستخدام جزءا لا يتجزأ من لفصل المواد الملحقة عن
المادة الأصلية. لاحظ أن رقم السطر الحالي يتغير.
في حالة عدم توفر سطر الإدخال التالي، سيتم N يجب أن يتفرع فعل الأمر إلى
نهاية البرنامج النصي وإنهاء دون بدء دورة جديدة أو نسخ النمط
مساحة للإخراج القياسي.
[2addr]p اكتب مساحة النمط إلى الإخراج القياسي.
[2addr]P اكتب مساحة النمط ، حتى الأول ، لمعيار الإخراج.
[1addr]q تفرع إلى نهاية البرنامج النصي ثم قم بالخروج دون بدء دورة جديدة.
[1addr]r rfile
انسخ محتويات rfile إلى الإخراج القياسي كما هو موضح سابقًا. لو rfile
غير موجود أو لا يمكن قراءته ، يجب معاملته كما لو كان فارغًا
الملف، مما تسبب في عدم وجود حالة خطأ.
[2addr]س/BRE/إستبدال/الأعلام
استبدل السلسلة البديلة بمثيلات BRE في مساحة النمط.
أي شخصية غير أو يمكن استخدامه بدلاً من أ
لتحديد BRE والاستبدال. ضمن BRE و
الاستبدال ، يمكن استخدام محدد BRE نفسه كحرف حرفي إذا كان
يسبقه أ .
يجب فحص سلسلة الاستبدال من البداية إلى النهاية. ان
("&") التي تظهر في الاستبدال يجب استبدالها بالسلسلة المطابقة لـ
بري. المعنى الخاص ل "&" في هذا السياق يمكن قمعه من قبل
ذلك بواسطة أ . الشخصيات "\n"، حيث n هو رقم، يجب استبداله
بواسطة النص المطابق لتعبير المرجع الخلفي المقابل. إذا
تعبير المرجع الخلفي المقابل غير متطابق، ثم الأحرف "\n"
يجب استبداله بالسلسلة الفارغة. المعنى الخاص لـ "\n" أين n هو
رقم في هذا السياق ، يمكن إلغاؤه من خلال تسبقه بـ a . ل
بعضها البعض تمت مواجهته، يجب أن تفقد الشخصية التالية مكانتها
معنى خاص (إن وجد). معنى أ تليها على الفور
أي شخصية أخرى غير "&", أو رقمًا أو الحرف المحدد
المستخدمة لهذا الأمر، غير محدد.
يمكن تقسيم الخط عن طريق استبدال أ بداخله. يجب على التطبيق
الهروب من في الاستبدال بأن يسبقه أ . أ
ويعتبر الاستبدال قد تم حتى ولو تم الاستبدال
السلسلة مطابقة للسلسلة التي تحل محلها. أي تستخدم ل
تغيير المعنى الافتراضي للحرف اللاحق يتم تجاهله من
BRE أو البديل قبل تقييم BRE أو استخدام البديل.
قيمة الأعلام يجب أن تكون صفرًا أو أكثر من:
n بديل ل nالتواجد الوحيد لـ BRE الموجود داخل
مساحة النمط.
g بديل عالمي لجميع مثيلات BRE غير المتداخلة
بدلاً من الأول فقط. إذا كان كل من g n تم تحديدها،
النتائج غير محددة.
p اكتب مساحة النمط إلى الإخراج القياسي إذا تم إجراء الاستبدال.
w wfile يكتب. إلحاق مساحة النمط بـ wfile إذا تم إجراء بديل. أ
يجب أن يسبق التطبيق المطابق wfile حجة مع واحد أو
أكثر الشخصيات. إذا w العلم ليس قيمة العلم الأخيرة
في سلسلة من قيم العلم المتعددة ، تكون النتائج
غير معرف.
[2addr]t [ملصق]
امتحان. فرع إلى : فعل أمر يحمل ال ملصق إذا كان هناك أي بدائل لها
تم إجراؤها منذ آخر قراءة لخط الإدخال أو تنفيذ ملف t.
If ملصق غير محدد ، يتفرع إلى نهاية البرنامج النصي.
[2addr]w wfile
إلحاق (كتابة) مساحة النمط بـ wfile.
[2addr]x قم بتبادل محتويات النموذج مع مساحات الانتظار.
[2addr] ذ /string1/string2/
استبدال كافة تكرارات الأحرف في string1 مع المقابلة
شخصيات في string2. اذا كان متبوعًا بعلامة 'ن' ظهر في string1 or
string2، يجب التعامل مع الحرفين كشخص واحد . إذا
عدد الأحرف في string1 string2 ليست متساوية، أو إذا كان أي من
شخصيات في string1 تظهر أكثر من مرة، والنتائج غير محددة. أي
شخصية أخرى غير أو يمكن استخدامها بدلاً من ل
تحديد السلاسل. إذا لم يكن المحدد 'ن'، في غضون string1 string2,
يمكن استخدام المحدد نفسه كحرف حرفي إذا كان مسبوقًا بـ
. اذا كان الحرف يتبعه على الفور أ
حرف في string1 or string2، الاثنان الشخصيات
يجب أن تحسب على أنها حرفية واحدة شخصية. معنى أ
متبوعًا بأي حرف غير ذلك 'ن'، أ ، أو ال
حرف المحدد غير محدد.
[0addr]:ملصق
لا تفعل شيئا. يحمل هذا الأمر أ ملصق التي b t فرع الأوامر.
[1addr]= اكتب ما يلي إلى الإخراج القياسي:
"٪ d \ n"، <تيار خط عدد>
[0addr] تجاهل هذا الأمر الفارغ.
[0addr]# تجاهل "#" والباقي من السطر (تعاملهم كتعليق) ، بامتداد
استثناء واحد أنه إذا كان أول حرفين في البرنامج النصي "#ن"أطلقت حملة
يجب قمع الإخراج الافتراضي؛ وهذا يعادل التحديد
-ن في سطر الأوامر.
EXIT الوضع
يتم إرجاع قيم الخروج التالية:
0 إتمام بنجاح.
> 0 حدث خطأ.
عواقب OF أخطاء
افتراضي.
تشير متابعيك أقسام . غنيا بالمعلومات.
تطبيق الاستعمال
تتطابق التعبيرات العادية مع سلاسل كاملة، وليس فقط الأسطر الفردية، ولكن أ يكون
يقابلها '\ن' في عطش يكرر؛ أ لا يسمح به التعريف العام
التعبير العادي في POSIX.1-2008. لاحظ ذلك أيضًا '\ن' لا يمكن استخدامها لمطابقة
في نهاية سطر الإدخال التعسفي ؛ تظهر الأحرف في
مساحة النمط نتيجة ل N أمر التحرير.
أمثلة
هذه عطش البرنامج النصي يحاكي BSD قط -س الأمر، والضغط على الخطوط الفارغة الزائدة من
المدخلات القياسية.
عطش -ن '
# كتابة غير فارغ خطوط.
/./ {
p
d
}
# كتابة a عزباء فارغ خط، then بحث For الأكثر من ذلك فارغ خطوط.
/ ^ $ / p
# تواصل التالي خط، تجاهل هيه عقد (فارغة خط)،
# بحث For الأكثر من ذلك فارغ خطوط.
:فارغ
/ ^ $ / {
N
س/.//
b فارغ
}
# كتابة هيه غير فارغ خط قبل الذهاب الى الخلف إلى .
# For هيه أول in a طقم of فارغ خطوط.
p
'
ما يلي عطش يعد الأمر طريقة أبسط بكثير للضغط على الأسطر الفارغة، على الرغم من أنه
ليس تماما نفس قط -س لأنه يزيل أي أسطر فارغة أولية:
عطش -ن '/./،/^$/ص'
الأساس المنطقي
هذا الحجم من POSIX.1-2008 يتطلب تطبيقات لدعم ما لا يقل عن عشرة متميزة
wfiles، مطابقة الممارسة التاريخية في العديد من التطبيقات. التطبيقات
يتم تشجيعها على دعم المزيد، ولكن يجب ألا تتجاوز التطبيقات المطابقة هذا الحد.
تختلف أكواد حالة الخروج المحددة هنا عن تلك الموجودة في النظام V. النظام الخامس
تعيد 2 للمخالفة عطش الأوامر، ولكنها تُرجع صفرًا مع رسالة الاستخدام الخاصة بها أو إذا كان
لا يمكن فتح ملف الإدخال. اعتبر المطورون القياسيون أن هذا خطأ.
الطريقة التي l تم تغيير أمر كتابة الأحرف غير القابلة للطباعة لتجنب
طريقة backspace-overstrike التاريخية ، والمتطلبات الأخرى لتحقيق لا لبس فيها
تمت إضافة الإخراج. انظر الأساس المنطقي ل ed للحصول على تفاصيل التنسيق المختار، وهو
نفس الذي تم اختياره ل عطش.
يتطلب هذا الحجم من POSIX.1‐2008 تطبيقات لتوفير النمط والاحتفاظ بمساحات
ما لا يقل عن 8192 بايت، أكبر من 4000 بايت المستخدمة من قبل بعض المساحات التاريخية
عمليات التنفيذ، ولكن أقل من حد 20480 بايت المستخدم في الاقتراح المبكر.
يتم تشجيع التطبيقات على تخصيص نمط أكبر ديناميكيًا وعقد المساحات على النحو التالي
الحاجة.
متطلبات القبول و الأحرف في سطور الأوامر
أوضح مما كانت عليه في المقترحات المبكرة لوصف التاريخ بوضوح
ممارسة وإزالة الالتباس حول عبارة "حماية الفراغات الأولية" [هكذا] وعلامات التبويب
من التجريد الذي يتم على كل سطر نصي '' الذي يظهر في الكثير من ملفات
التوثيق التاريخي لل عطش وصف فائدة النص. (ليس كل التطبيقات
ومن المعروف أنها جردت أحرف من سطور النص، على الرغم من أنها جميعا
يسمح الرائدة الأحرف التي تسبق العنوان في سطر الأوامر.)
علاج "#" تختلف التعليقات عن SVID الذي يسمح فقط بالتعليق باسم
السطر الأول من البرنامج النصي، ولكنه يطابق التطبيقات المشتقة من BSD. حرف التعليق
يتم التعامل معه كأمر ، وله نفس الخصائص من حيث قبوله مع
قيادة الشخصيات؛ وقد دعم تنفيذ BSD هذا تاريخيًا.
تتطلب المقترحات المبكرة أن أ script_file لديك سطر واحد على الأقل بدون تعليق. بعض
لقد تصرفت التطبيقات التاريخية بطرق غير متوقعة إذا لم يكن الأمر كذلك. ال
اعتبر المطورون القياسيون أن هذا سلوك غير صحيح وهذا التطبيق
لا ينبغي للمطورين تجنب هذه الميزة. التنفيذ الصحيح لهذا المجلد
من POSIX.1‐2008 يجب أن يسمح بذلك script_fileالتي تتكون فقط من سطور التعليق.
أشارت المقترحات المبكرة إلى أنه إذا ه − و كانت الخيارات مختلطة، كلها ه كانت الخيارات
معالجتها قبل أي − و خيارات. تم تغيير هذا لمعالجتها بالترتيب
تم تقديمه لأنه يتوافق مع الممارسة التاريخية وأكثر سهولة.
علاج p العلم ل s يختلف الأمر بين النظام V والقائم على BSD
الأنظمة عندما يتم قمع الإخراج الافتراضي. في المثالين:
صدى a | عطش 's/أ/أ/ع'
صدى a | عطش -ن 's/أ/أ/ع'
يشير هذا المجلد من وثائق POSIX.1‐2008 وBSD وSystem V وSVID إلى أن
المثال الأول يجب أن يكتب سطرين مع A، في حين أن الثاني يجب أن يكتب واحدا. بعض
تكتب أنظمة النظام الخامس ملف A مرة واحدة فقط في كلا المثالين لأن p يتم تجاهل العلم إذا
هيه -ن الخيار غير محدد.
هذه حالة اختلاف كبير بين الأنظمة التي لا يمكن التوفيق بينها
من خلال التسوية المتمثلة في إعلان أن السلوك غير محدد. SVID/BSD/النظام V
تم اعتماد سلوك التوثيق لهذا المجلد من POSIX.1-2008 للأسباب التالية:
* لا توجد وثائق معروفة لأي نظام تاريخي تصف التفاعل بين p
العلم و -ن الخيار.
* السلوك المختار هو الأصح حيث لا يوجد أي مبرر فني له
التفاعل بين p العلم و -ن خيار. علاقة بين -ن و p
قد تشير العلامة إلى أنه يتم استخدامهما معًا فقط، ولكن هذا يتجاهل البرامج النصية الصالحة التي
يقطع الطبيعة الدورية للمعالجة من خلال استخدام D, d, qالطرق أو
أوامر المتفرعة. تعتمد هذه البرامج النصية على p لاحقة لكتابة مساحة النمط
لأنهم لا يستخدمون الإخراج الافتراضي في `` الجزء السفلي '' من البرنامج النصي.
* بسبب ال -ن الخيار يجعل p العلم غير ضروري، فإن أي تفاعل سيكون فقط
مفيد إذا عطش تمت كتابة البرامج النصية للتشغيل مع وبدون -ن اختيار. هذا هو
يعتقد أنه من غير المرجح. ومن غير المرجح أن يكون المبرمجون قد قاموا بترميز p
علم يتوقع أن يكون غير ضروري. نظرًا لعدم توثيق التفاعل ، فإن ملف
احتمالية اكتشاف المبرمج للتفاعل والاعتماد عليه أكبر
انخفض.
* أخيرًا، تنتج البرامج النصية التي تندرج تحت السلوك المحدد الكثير من المخرجات
بدلاً من القليل جدًا، وهو ما يسهل تشخيصه وتصحيحه.
نموذج الأمر البديل الذي يستخدم n اللاحقة كانت مقتصرة على أول 512
مباريات في اقتراح مبكر. تمت إزالة هذا الحد لعدم وجود سبب
يجب أن يكون لهذا القيد سطور معالجة المحرر التي يبلغ طولها {LINE_MAX}. الامر
ق/أ/2047 يجب أن تكون قادرًا على استبدال التواجد رقم 2047 لـ a على الخط.
تشير b, tو : تم توثيق الأوامر لتجاهل المسافة البيضاء البادئة، ولكن لم يتم ذكرها
مصنوعة من مساحة بيضاء زائدة. التطبيقات التاريخية ل عطش المخصصة مختلفة
المواقع إلى التسميات "س" "x ". هذا ليس مفيدًا ويؤدي إلى برمجة خفية
أخطاء، ولكنها ممارسة تاريخية، وتغييرها قد يؤدي نظريًا إلى تعطيل العمل
نصوص. يتم تشجيع المنفذين على تقديم رسائل تحذيرية حول التصنيفات التي
لم يتم استخدامها أبدًا أو تنتقل إلى التصنيفات غير الموجودة.
تاريخيا، عطش ! } أوامر التحرير لا تسمح بأوامر متعددة على ملف
سطر واحد باستخدام أ كمحدد الأمر. التنفيذ مسموح ولكن
غير مطلوب لدعم هذا الامتداد.
الإصدارات السابقة من هذا المعيار سمحت بالتطبيقات ذات البايتات بخلاف ثمانية
بت ، ولكن تم تعديل هذا في هذا الإصدار.
المستقبل طريقة الاستعمال
لا شيء.
استخدم sedposix عبر الإنترنت باستخدام خدمات onworks.net