ربط عدة أوامر
جزء من قسم الأساسيات في رحلة Terminal على Coddy — الدرس 45 من 82.
لست مقيداً بربط أمرين فقط. يمكن للأنابيب (Pipes) ربط أي عدد تحتاجه من الأوامر، حيث يقوم كل أمر بمعالجة مخرجات الأمر السابق.
ببساطة أضف المزيد من رموز | لتوسيع خط الأنابيب (pipeline):
cat data.txt | sort | head -5يقرأ هذا الملف، ويرتب جميع الأسطر أبجدياً، ثم يعرض أول 5 نتائج فقط. تتدفق البيانات من اليسار إلى اليمين عبر كل أمر بالتسلسل.
إليك مثال عملي يعثر على المدخلات الفريدة المرتبة:
cat names.txt | sort | uniqيتم فرز محتويات الملف أولاً (مما يجمع التكرارات معاً)، ثم يقوم uniq بإزالة الأسطر المتكررة المتتالية. الترتيب مهم هنا — يقوم uniq فقط بإزالة التكرارات المتجاورة، لذا يجب أن يأتي الفرز أولاً.
يمكنك إضافة المزيد من المراحل. لحساب عدد الأسماء الفريدة الموجودة:
cat names.txt | sort | uniq | wc -lتضيف كل علامة ربط (pipe) خطوة تحويل إضافية. عند بناء سلاسل أوامر (pipelines) أطول، فكر في ما يحتاجه كل أمر كمدخلات وما ينتجه كمخرجات. يجب أن يكون تنسيق مخرجات أحد الأوامر منطقياً كمدخلات للأمر التالي.
التحدي
سهليحتوي الملف visitors.txt على قائمة بأسماء الزوار مع تكرارات. استخدم خط أنابيب (pipeline) يتكون من أربعة أوامر لحساب عدد الزوار الفريدين.
قم بتشغيل أمر واحد يقوم بما يلي:
- يستخدم
catلقراءةvisitors.txt - يمرر المخرجات إلى
sortلترتيب الأسماء أبجدياً - يمرر المخرجات إلى
uniqلإزالة الإدخالات المكررة - يمرر المخرجات إلى
wc -lلعد الأسماء الفريدة
تلميح: قم بربط الأوامر الأربعة معاً باستخدام رموز
|متعددة. تذكر أنuniqيزيل التكرارات المتجاورة فقط، لذا يجب أن يسبقه الفرز (sorting).
جرّب بنفسك
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2التنقل
عرض مسار المجلد الحاليعرض الملفاتتغيير المجلدالمسارات المطلقة مقابل المسارات النسبيةمجلد المنزل ومجلد الجذرخلاصة - حدد مسارك8إعادة التوجيه
المخرجات القياسيةالكتابة فوق ملفالإضافة إلى ملفالمدخلات القياسيةالخطأ القياسيمراجعة - بناء سجل الأحداث11الأذونات
فهم الأذوناتقراءة الأذوناتChmod باستخدام الأرقامChmod باستخدام الرموزملكية الملفاتملخص - إحكام الحماية14مشروع سكربت النسخ الاحتياطي
نظرة عامة على المشروعالحصول على مسار المصدر