أمر cut هو أداة قوية ومفيدة في أنظمة تشغيل لينيكس، تُستخدم لاستخراج أجزاء معينة من النصوص أو البيانات من الملفات. يُعتبر أمر `cut` مثاليًا عند العمل مع البيانات المهيكلة، مثل الملفات النصية التي تحتوي على معلومات منظمة في أعمدة، حيث يمكن استخدامه لتحديد واستخراج أجزاء محددة من المعلومات بسرعة وسهولة.
تستطيع عبر هذا الأمر فصل الأعمدة بحسب الفواصل المعينة مثل الفواصل (,) أو المسافات، أو حتى الاتجاهات الأخرى مثل الطول. بفضل هذه الإمكانية، يعد `cut` أداة ضرورية للمطورين، مدراء الأنظمة، والمستخدمين العاديين الذين يحتاجون إلى معالجات سريعة وفعالة للموارد النصية.
سنستعرض في هذا الدرس كيفية استخدام أمر `cut` بشكل معمق، بما في ذلك الأساسيات، الخيارات المتقدمة، وتطبيقات عملية لتعزيز فهمك لمدى قوة هذا الأمر في عالم لينيكس. دعنا نبدأ باستكشاف الميزات المختلفة التي يقدمها `cut` وكيف يمكن أن يساعدك في تنظيم معلوماتك بشكل أفضل وأسرع.
ما هو أمر cut؟
أمر `cut` في لينيكس هو أداة تستخدم لاستخراج جزء من بيانات النصوص، مما يجعلها مثالية للتعامل مع الملفات النصية الكبيرة والبيانات المهيكلة. يتيح لك `cut` اختيار أعمدة أو أجزاء معينة من الأسطر في النص، مما يساعدك على تنظيم البيانات بدقة وسرعة.
على سبيل المثال، إذا كنت تعمل مع ملف يحتوي على بيانات العملاء، يمكنك استخدام `cut` لاستخراج معلومات مثل أسماء العملاء أو أرقام هواتفهم وفقًا لاحتياجاتك. تتجلى سهولة استخدام `cut` من خلال تركيبته البسيطة والذي يمكن استخدامه مع خيارات متعددة لتلبية احتياجاتك المختلفة.
كيفية استخدام أمر cut خطوة بخطوة
التركيب الأساسي للأمر
الهيكل الأساسي لاستخدام أمر `cut` هو كالتالي:
cut [options] [file]
– خيارات (options): يمكن استخدام عدد من الخيارات لتحديد الأعمدة التي تريد استخراجها.
استخدام cut لاستخراج أعمدة معينة
لنفترض أنك تملك ملفًا نصيًا باسم `data.txt` يحتوي على المعلومات التالية:
الاسم,العمر,المهنة
أحمد,30,مهندس
منى,25,طبيبة
علي,22,طالب
إذا كنت ترغب في استخراج أسماء الأشخاص فقط، يمكن استخدام الخيار `-d` لتحديد الفاصل الخاص بالمعلومات وهو هنا الفاصلة (,) واستخدام `-f` لتحديد العمود الذي ترغب في استخراج البيانات منه:
cut -d ',' -f 1 data.txt
ستكون النتيجة كما يلي:
الاسم
أحمد
منى
علي
استخراج أعمدة متعددة
يمكنك أيضًا استخراج أعمدة متعددة من خلال تحديد الأعمدة المطلوبة باستخدام علامات الفواصل. على سبيل المثال، لاستخراج الأعمدة المتعلقة بالاسم والمهنة:
cut -d ',' -f 1,3 data.txt
سيكون الناتج كالتالي:
الاسم,المهنة
أحمد,مهندس
منى,طبيبة
علي,طالب
التعامل مع البيانات المنفصلة بالمسافات
استخدام cut مع مسافات
إذا كانت البيانات مفصولة بالمسافات بدلاً من الفواصل، يمكنك استخدام الأمر بدون أي خيارات إضافية. على سبيل المثال، لنقل أن لديك ملفًا نصيًا يسمى `students.txt`:
أحمد 30 طلاب
منى 25 طالبين
علي 22 طلاب
يمكنك استخدام الأمر التالي لاستخراج الأسماء:
cut -d ' ' -f 1 students.txt
هذه النتيجة ستكون:
أحمد
منى
علي
استخدام cut مع أعمدة مكونة من كلمات
إذا كنت ترغب في استخراج أعمدة معينة من بيانات تحتوي على كلمات متعددة، يمكنك استخدام الخيار `-f` لتحديد العمود الذي ترغب في استخراجه. على سبيل المثال لاستخراج الاسم والعمر:
cut -d ' ' -f 1,2 students.txt
ستحصل على النتائج التالية:
أحمد 30
منى 25
علي 22
خيارات متقدمة لأمر cut
استخدام الخيار -c لاستخراج الأحرف
يتيح لك الخيار `-c` استخراج عدد محدد من الأحرف من كل سطر بدلاً من الأعمدة. لنفترض لديك ملفًا يحتوي على كلمات وتريد استخراج الأحرف الأربعة الأولى من كل سطر:
cut -c 1-4 data.txt
هذا سيعطيك الأحرف الأربعة الأولى من كل سطر.
استخدام cut مع خيارات أخرى
يمكنك دمج `cut` مع أدوات أخرى مثل `grep` و`sort` لتحسين إدارة البيانات. على سبيل المثال، إذا كنت ترغب في حفظ نتائج معينة من ملف نصي، يمكنك استخدام:
grep "ahmad" data.txt | cut -d ',' -f 1
هنا ستقوم بالبحث عن السطر الذي يحتوي على “ahmad” ثم استخراج اسم أحمد فقط.
استخدام cut في السكربتات
دمج cut مع سكربتات Shell
يمكنك استخدام `cut` في سكربتات Shell لأتمتة معالجة البيانات. على سبيل المثال، يمكنك كتابة سكربت لاستخراج معلومات معينة من ملفات متعددة:
#!/bin/bash
for file in *.txt; do
cut -d ',' -f 1 "$file" done
هذا السكربت سيقوم باستخراج الأسماء من جميع الملفات النصية في المجلد.
حفظ النتائج في ملف
يمكنك أيضًا حفظ النتائج من `cut` في ملف جديد للرجوع إليها لاحقًا. على سبيل المثال:
cut -d ',' -f 1,3 data.txt > output.txt
بهذا ستقوم بإنشاء ملف جديد باسم `output.txt` يحتوي على الأسماء والمهن.
في هذا الدرس، تعرفنا على أمر `cut` في لينيكس وكيفية استخدامه لاستخراج أجزاء من البيانات النصية من الملفات. تعلمنا كيفية استخدام خيارات مثل `-d` لتحديد الفواصل و `-f` لاختيار الأعمدة. كما استعرضنا طرق استخراج البيانات المفصولة بالمسافات ونمطها، بالإضافة إلى كيفية دمج `cut` مع أدوات أخرى لتحسين كفاءة تحليل البيانات.
يعتبر `cut` أداة أساسية لأي شخص يعمل في بيئات إدارة البيانات والنصوص، سواء كنت مطورًا أو مدربًا أو حتى مستخدمًا عاديًا، فإن اتقانه سيمكنك من تحسين إنتاجيتك عند العمل مع البيانات. ندعوك لتجربة الأوامر والخيارات التي تعلمتها في هذا الدرس وتطبيقها عمليًا في مشروعاتك.
المراجع
1. كتاب “The Linux Command Line” تأليف William Shotts.
2. موقع Linux Documentation