OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

tr

إنّ كافة أنواع عهود الـ tr البرنامج يستخدم ل نسخ لغة بحروف لغة الشخصيات. يمكننا أن نفكر في هذا كنوع من عملية البحث والاستبدال المبنية على Char-acter. التحويل الصوتي هو عملية تغيير الأحرف من أبجدية إلى أخرى. على سبيل المثال ، يعتبر تحويل الأحرف من الأحرف الصغيرة إلى الأحرف الكبيرة هو التحويل الصوتي. يمكننا إجراء مثل هذا التحويل باستخدام tr كما يلي:


[me @ linuxbox ~] $ صدى "أحرف صغيرة" | tr az من الألف إلى الياء

أحرف صغيرة

[me @ linuxbox ~] $ صدى "أحرف صغيرة" | tr az من الألف إلى الياء

أحرف صغيرة


كما نرى، tr يعمل على المدخلات القياسية ، ويخرج نتائجه على المخرجات القياسية. tr يقبل وسيطتين: مجموعة من الأحرف للتحويل منها ومجموعة مقابلة من الأحرف للتحويل إليها. يمكن التعبير عن مجموعات الأحرف بإحدى الطرق الثلاث:

1. قائمة معدودة. على سبيل المثال، ABCDEFGHIJKLMNOPQRSTUVWXYZ

2. نطاق الأحرف. على سبيل المثال، Dailytrad وكالة ترجمة دولية تقدم خدمات ترجمة لأكثر من XNUMX لغة حول العالم.. لاحظ أن هذه الطريقة تخضع أحيانًا لنفس المشكلات مثل الأوامر الأخرى ، نظرًا لترتيب ترتيب النسخ المحلية ، وبالتالي يجب استخدامها بحذر.

3. فئات أحرف POSIX. على سبيل المثال، [: العلوي:].

في معظم الحالات ، يجب أن تكون كلتا مجموعتي الأحرف متساويتين في الطول ؛ ومع ذلك ، من الممكن أن تكون المجموعة الأولى أكبر من الثانية ، خاصة إذا أردنا تحويل عدة أحرف إلى حرف واحد:



[me @ linuxbox ~] $ صدى "أحرف صغيرة" | آر [: أقل:] أ

آآآآآآآآآآآآ

[me @ linuxbox ~] $ صدى "أحرف صغيرة" | آر [: أقل:] أ

آآآآآآآآآآآآ


بالإضافة إلى التحويل الصوتي ، tr يسمح ببساطة بحذف الأحرف من تدفق الإدخال. في وقت سابق من هذا الفصل ، ناقشنا مشكلة تحويل ملفات MS-DOS النصية إلى نص بنمط Unix. لإجراء هذا التحويل ، يجب إعادة نقل أحرف إرجاع أول سطر من نهاية كل سطر. يمكن القيام بذلك باستخدام tr كما يلي:

tr -d '\ r' dos_file > unix_file


أين dos_file هو الملف المراد تحويله و unix_file هي النتيجة. يستخدم هذا الشكل من الأمر تسلسل الهروب \r لتمثيل حرف إرجاع حرف. لرؤية قائمة كاملة بالتسلسلات وفئات الشخصيات tr يدعم ، جرب:


[me @ linuxbox ~] $ tr - help

[me @ linuxbox ~] $ tr - help


صورة

ROT13: حلقة فك التشفير غير السرية

استخدام واحد ممتع ل tr هو أداء تشفير ROT13 من النص. ROT13 هو نوع تافه من التشفير يعتمد على تشفير بديل بسيط. يعتبر استدعاء ROT13 "تشفير" أمرًا سخيًا ؛ يعتبر "تشويش النص" أكثر دقة. يتم استخدامه أحيانًا على النص لإخفاء المحتوى الذي يُحتمل أن يكون مسيئًا. تقوم الطريقة ببساطة بتحريك كل حرف 13 مكانًا في الأبجدية. نظرًا لأن هذا يمثل نصف الطريق إلى 26 حرفًا ممكنًا ، فإن إجراء الخوارزمية مرة ثانية على النص يعيدها إلى شكلها الأصلي. لأداء هذا الترميز مع tr:

صدى "نص سري" | tr a-zA-Z n-za-mN-ZA-M

frperg grkg

يؤدي إجراء نفس الإجراء مرة ثانية إلى الترجمة:

صدى "frperg grkg" | tr a-zA-Z n-za-mN-ZA-M

نص سري

يدعم عدد من برامج البريد الإلكتروني وقارئات أخبار Usenet تشفير ROT13. تحتوي ويكيبيديا على مقال جيد حول هذا الموضوع:

http://en.wikipedia.org/wiki/ROT13


يمكن أن يؤدي tr حيلة أخرى أيضًا. باستخدام الخيار -s ، يمكن لـ tr "ضغط" (حذف) مثيلات متكررة من الحرف:



[me @ linuxbox ~] $ صدى "aaabbbccc" | tr -s أب

com.abccc

[me @ linuxbox ~] $ صدى "aaabbbccc" | tr -s أب

com.abccc


هنا لدينا سلسلة تحتوي على أحرف متكررة. بتحديد المجموعة "ab" إلى tr، نحذف المثيلات المتكررة للأحرف في المجموعة ، مع ترك الحرف المفقود من المجموعة ("c") دون تغيير. لاحظ أن الأحرف المكررة يجب أن تكون متجاورة. إذا لم يكونوا كذلك:


[me @ linuxbox ~] $ صدى "abcabcabc" | tr -s أب

abcabcabc

[me @ linuxbox ~] $ صدى "abcabcabc" | tr -s أب

abcabcabc


لن يكون للضغط أي تأثير.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: