الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

موضوع جميل عن ال shell في لينكس

مغلق
بدأه سلامة_2005 في 24 نوفمبر 2006 · 3 رد · 956 مشاهدة · في نظام تشغيل Unix & Linux
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

دائماً اتسائل في نفسي كم يا ترى عدد الاسطر البرمجية الموجودة في برنامج مثل Wine 0.9.X ؟

Wine كما تعرفون برنامج يقوم بتوفير بيئه بديلة عن بيئة ويندوز ليسمح لملفات الويندوز بالعمل

وبدافع الفظول ولرغبتي في معرفة عدد السطور التي يحتويها هذا البرنامج وكمبرمج بلغة سي فكرة في انني

ساحتاج لكتابة برنامج يقوم بالبحث عن ملفات الشفرة المصدرية ويقوم بقرائتها ويعطيني عدد الاسطر المستخدمة في كتابتها

ولكن الاداة السحرية و المذهلة في اللينكس والتي لم ارى لها مثيلاً على اي نظام حتى الان وهي الـ shell وفرة علي كل هذا العناء

بواسطة عدد بسيط من الاوامر التي تكتب وبعدها تعمل مثل السحر

ملاحظة: هذا الرابط يحتوي على كتاب مفيد كمقدمة لتعلم الـ shell

http://freeos.com/guides/lsst

استخدمة السكريبة الذي كتبته لكي احصل على عدد الاسطر في البرامج التالية:

Programe name code lines

Wine 1,735,434 lines

gcc 4.1 1,944,489 lines

linux-2.6.16.5 6,850,857 lines

POVray-3.6.1 332,977 lines

xine-lib-1.1.1 641,967 lines

نواة نظام لينكس كانت اكبر مما تخيلة فقد كانت تحتوي على اكثر من ستة ملايين سطر من الكود

وسوف اضع السيكربة الذي كتبته لمن يريد ان يستخدمهcode_counter.txt

تم تعديل هذه المشاركة بواسطة سلامة_2005 في 24 نوفمبر 2006 في 01:09

#2

جميل جدا أخي سلامة ،،

ولكن لماذا استخدمت طريقة دمج الملفات في ملف واحد ومن ثم البدأ في عدها ،،

أتوقع ان هناك طرق أخرى ،،

ولكن على العموم هذا يدل على سلاسة وقوة استخدام سطر الأوامر ،،

تحياتي

#3

كنت قد كتبت رد من قبل , ولا ادري ماجرى له ..

على العموم موضوع جميل اخي سلامة وبرنامج الشل بسيط وجميل . وكما قال الاخ OMLX , كان يمكنك استخدام الـpipeline مثلاً ..

واتمنى منك توضيح البرنامج حتى يستفيد بقيه الاعضاء .

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#4

شكراً لكم على المرور أخي محمد معاشر و OMLX

أخي محمد معاشر شاهدت ردك قبل اكثر من يومين لكن لا اعرف ماذا حصل ؟ بعض الردود مسحت من بعض المواضيع

وربما يكون السبب عطل فني في المنتدى والله أعلم

شكراً على مرورك أخي OMLX لا شك بانه يوجد عدة طرق وليس طريقة واحده ولكني لازلة مبتدئاً ولهاذا

تجد بان السيكربت يطلب منك ان تعطيه عدد الملفات في مرحلة من مراحل التنفيذ و سبب وضع الاكواد في ملف واحد هو ان

الاداة wc اداة بسيطه جداً لذلك وتوفيراً للوقت وجدة بانه من الاسرع ان اقوم بوضع جميع الشفرة في ملف واحد وعده مرة واحدة

بالمناسبة انا قمت باستعمال الـ pipeline وهي ميزة قوية جدااااااااااً

مثلاً: خلال عملية البحث عن الملفات التي تحتوي على الشفرة المصدرية:

find $1 -depth -name "*.c" | cat >> temp

find $1 -depth -name "*.cpp" | cat >> temp

find $1 -depth -name "*.cxx" | cat >> temp

find $1 -depth -name "*.h" | cat >> temp

find $1 -depth -name "*.hpp" | cat >> temp

find $1 -depth -name "*.S" | cat >> temp

find $1 -depth -name "*.asm" | cat >> temp

اثناء دمج جميع الملفات في ملف واحد:

cat $LINE | cat >> src

واثناء تمرير عناوين الملفات

tail +$COUNT < temp | head -n 1

تم تعديل هذه المشاركة بواسطة HGB في 4 ديسمبر 2006 في 23:02

هذا الموضوع مغلق.

مواضيع مشابهة