مقدمة عن أداة Cut

أداة Cut هي أداة سطر أوامر في أنظمة Unix/Linux تستخدم لاستخراج أجزاء من كل سطر من الملفات أو من المدخلات. تدعم Cut استخراج الأجزاء عن طريق البايتات، الأحرف، أو الحقول المفصولة بمحدد معين.

نصيحة: Cut هي أداة بسيطة ولكنها قوية لمعالجة النصوص في سطر الأوامر. غالباً ما تستخدم مع أدوات أخرى مثل grep و sort في أنابيب (pipes) لمعالجة البيانات.

البنية الأساسية لأمر Cut

البنية الأساسية لأمر Cut هي:

Terminal
cut [OPTION]... [FILE]...

إذا لم يتم تحديد ملف، تقرأ Cut من المدخلات القياسية (stdin).

ملاحظة: Cut مثبتة بشكل افتراضي في جميع توزيعات Linux تقريباً. إذا لم تكن مثبتة، يمكن تثبيتها باستخدام مدير الحزم الخاص بتوزيعتك.
الأوامر الأساسية
أمثلة عملية
أوامر متقدمة

أوامر Cut الأساسية

الأوامر الأساسية لاستخراج أجزاء من النصوص باستخدام Cut:

الأمر الشرح
cut -c 3عرض الحرف الثالث من كل سطر
cut -c 2,7عرض الحرف الثاني والسابع من كل سطر
cut -c 2-7عرض نطاق من الحروف من الموضع الثاني إلى الموضع السابع (شامل)
cut -c -4عرض الأحرف الأربعة الأولى من كل سطر
cut -d $'\t' -f -3عرض الحقول الثلاثة الأولى من ملف مفصول بعلامات Tab
cut -c 13-عرض الأحرف من الموضع الثالث عشر إلى نهاية السطر
cut -d ' ' -f 4عرض الكلمة الرابعة باستخدام المسافة كمحدد
cut -d ' ' -f -3عرض الكلمات الثلاث الأولى باستخدام المسافة كمحدد
cut -d $'\t' -f 2-عرض الحقول من الحقل الثاني إلى آخر حقل في ملف مفصول بعلامات Tab

أمثلة عملية مع Cut

تطبيقات عملية لأداة Cut في سيناريوهات حقيقية:

مثال 1: استخراج أسماء المستخدمين من ملف /etc/passwd
Terminal
cut -d ':' -f 1 /etc/passwd

يقسم هذا الأمر كل سطر باستخدام النقطتين كمحدد ويعرض الحقل الأول (اسم المستخدم).

مثال 2: استخراج نطاقات من عناوين البريد الإلكتروني
Terminal
cut -d '@' -f 2 emails.txt

يقسم هذا الأمر كل سطر باستخدام @ كمحدد ويعرض الحقل الثاني (النطاق).

مثال 3: استخراج أرقام الهواتف من بيانات مفصولة بفواصل
Terminal
cut -d ',' -f 3 contacts.csv

يقسم هذا الأمر كل سطر باستخدام الفاصلة كمحدد ويعرض الحقل الثالث (رقم الهاتف).

$ echo "apple,banana,cherry,date" | cut -d ',' -f 2
المدخلات: apple,banana,cherry,date
المخرجات: banana

أوامر Cut المتقدمة

تقنيات وأوامر متقدمة لتحسين سير العمل مع Cut:

الأمر الشرح
cut --complement -c 3عرض كل شيء ماعدا الحرف الثالث من كل سطر
cut -b 2-5عرض البايتات من 2 إلى 5 من كل سطر
cut -s -d ':' -f 1عرض الحقل الأول فقط للأسطر التي تحتوي على المحدد
cut --output-delimiter='|' -d ',' -f 1-3عرض الحقول من 1 إلى 3 مع تغيير المحدد الناتج إلى |
cat file.txt | cut -c 1-10 | sort | uniqاستخراج الأحرف من 1 إلى 10 وترتيبها وإزالة التكرار
cut -d ':' -f 1,3 --output-delimiter=' -> ' /etc/passwdعرض اسم المستخدم ورقم المعرف مع محدد مخصص
ps aux | cut -c 1-100عرض أول 100 حرف من مخرجات أمر ps
cut -c 1-5,10-15 file.txtعرض نطاقات متعددة من الحروف
ملاحظة: بعض خيارات Cut المتقدمة قد تختلف بين أنظمة Unix/Linux المختلفة. تحقق من دليل المستخدم (man cut) للتأكد من توفر الخيارات.

نصائح واستخدامات شائعة

الجمع بين Cut وأدوات أخرى: Cut تعمل بشكل رائع عند دمجها مع أدوات أخرى مثل grep، awk، sed، وsort. هذا يسمح بمعالجة بيانات معقدة في سطر أوامر واحد.
حدود أداة Cut: Cut لا تدعم التعبيرات المنتظمة (regular expressions) مثل awk أو sed. إذا كنت بحاجة إلى معالجة نص معقدة، قد تحتاج إلى استخدام هذه الأدوات بدلاً من Cut.
الفرق بين -c و-b: الخيار -c يعمل على الأحرف بينما -b يعمل على البايتات. في معظم الحالات، سيكون الناتج متطابقاً، ولكن مع أحرف متعددة البايتات (مثل Unicode)، قد تختلف النتائج.

قائمة مراجعة إتقان Cut