Changing Letter CASE with sed and tr

سنرى كيفية تغيير الأحرف من الصغيرة lowercase/miniscule إلى الكبيرة uppercase/majuscule و العكس بالعكس باستعمال sed و tr ثم سنرى كيف سنجعل كل كلمة تبدأ بحرف كبير حتى و إن كانت اﻷحرف مكتوبة عشوائيا


سنبدأ بمجموعة من الإختبارات الصغيرة لفهم كيفية عملها, نبدأ أولا بكتابة شيء ما, مثال:

echo "teST"
عند الضغط على Enter سيعيد كتابة ما كتبناه بطبيعة الحال أي teST, نكتب الآن الأمر التالي:
echo "teST" | tr [:upper:] [:lower:]
فستظهر لنا test و ليس teST هذا لأن tr قام بتحويل جميع اﻷحرف الكبيرة إلى صغيرة, للتأكد أكثر سنعكس upper و lower و نرى ماذا سيحدث.
echo "teST" | tr [:lower:] [:upper:]
أعتقد أن النتيجة أصبحت معروفة سلفا, ستظهر لنا TEST, سنقوم الآن بنفس الحركة و لكن باستعمال sed
echo "teST" | sed 's/\(.*\)/\L\1/'
بالفعل أعطت test و لتعويلها بأحرف كبيرة كل ما علينا فعله هو تغيير L ب U طبعا نعلم سبب اختيار هذين الحرفين
echo "teST" | sed 's/\(.*\)/\U\1/'
لتنظيم أحرف جملة ما مثال
echo "This is a Title"
نجعلها
echo "This is a Title" | sed 's/[^ ]\+/\L\u&/g'
سنحصل على This Is A Title, الآن أصبح لدينا عدة أدوات بإمكاننا استخدامها لتعديل نص ما, مثال:
cat text.txt | sed 's/[^ ]\+/\L\u&/g'
حاليا لا أعلم سبب استخدام كل هذه الرموز حيث أنني نقلت الدرس كما هو و لكنني سأعمل على تحليله و فهمه بإذن اللّه.

0 comments: