مقدمة عن أداة Cut
أداة Cut هي أداة سطر أوامر في أنظمة Unix/Linux تستخدم لاستخراج أجزاء من كل سطر من الملفات أو من المدخلات. تدعم Cut استخراج الأجزاء عن طريق البايتات، الأحرف، أو الحقول المفصولة بمحدد معين.
البنية الأساسية لأمر Cut
البنية الأساسية لأمر Cut هي:
cut [OPTION]... [FILE]...
إذا لم يتم تحديد ملف، تقرأ Cut من المدخلات القياسية (stdin).
أوامر 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 في سيناريوهات حقيقية:
cut -d ':' -f 1 /etc/passwd
يقسم هذا الأمر كل سطر باستخدام النقطتين كمحدد ويعرض الحقل الأول (اسم المستخدم).
cut -d '@' -f 2 emails.txt
يقسم هذا الأمر كل سطر باستخدام @ كمحدد ويعرض الحقل الثاني (النطاق).
cut -d ',' -f 3 contacts.csv
يقسم هذا الأمر كل سطر باستخدام الفاصلة كمحدد ويعرض الحقل الثالث (رقم الهاتف).
أوامر 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 | عرض نطاقات متعددة من الحروف |
man cut) للتأكد من توفر الخيارات.
نصائح واستخدامات شائعة
-c يعمل على الأحرف بينما -b يعمل على البايتات. في معظم الحالات، سيكون الناتج متطابقاً، ولكن مع أحرف متعددة البايتات (مثل Unicode)، قد تختلف النتائج.