أمر “Cut” في لينكس: تطبيقاته المفيدة شرح

تُعد أنظمة لينكس وأنظمة التشغيل الشبيهة بـ UNIX أدوات قوية للتعامل مع النصوص عبر سطر الأوامر. في حال عدم توفر هذه الأدوات، كنا سنُجبر على تدوين مخرجات الأوامر يدويًا وإدخالها في الأوامر التالية لعزل المعلومات الضرورية، مما يُعد عملية غير فعالة. يتيح لنا أمر cut استخراج الأجزاء التي نحتاجها مباشرة، مما يسهل توجيه هذه المعلومات إلى الأوامر الصحيحة.

وظيفة أمر Cut في لينكس

أمر cut، الذي يتوافق مع متطلبات معيار POSIX، يُعتبر مفيدًا في عدة حالات. على الرغم من أنه ليس قويًا مثل بعض الأوامر الأخرى، إلا أنه يقدم مجموعة من الوظائف القيمة. كما يتضح من اسمه، يُستخدم أمر cut لقطع النصوص، وغالبًا ما يُستخدم لاستخراج المعلومات من الجداول النصية مثل ملفات CSV أو مخرجات أمر ps.

كيفية استخدام أمر Cut في لينكس

تأتي الصيغة العامة لأمر cut كما يلي:

cut OPTION... [FILE]...

على الرغم من أن هذه الصيغة قد لا تكون مفيدة بمفردها، إلا أن هناك بعض الخيارات الشائعة التي سنقوم بتغطيتها.

قص النص من الجداول باستخدام Tabs

لنبدأ بمثال على كيفية قص النص من جدول يحتوي على فواصل بين الأعمدة.

cut -f 1,5 -d ':' /etc/passwd

سيقوم هذا الأمر باستخراج العمودين الأول والخامس (حقل معرف المستخدم ووصف المستخدم) من ملف /etc/passwd. تستخدم الخيار -f لتحديد الحقول المرغوبة، حيث يقبل قيمًا مفصولة بالفواصل أو نطاقات مثل x-y، حيث يشير x إلى الحد الأدنى وy إلى الحد الأقصى.

يمكنك أيضًا دمج الخيارات كما هو موضح أدناه:

cut -f 1-3,7 -d ':' /etc/passwd

سيقوم هذا الأمر بتوفير الحقول من الأول إلى الثالث بالإضافة إلى السابع.

ملاحظات حول البيانات المتسقة

من المهم ملاحظة أن مخرجات بعض البرامج قد لا تكون موحدة دائمًا، وقد تحتوي على حقول فارغة، مما قد يُؤدي إلى تصرف غريب من أمر cut. على سبيل المثال، عندما تُستخدم المسافات كوسيلة للفصل بدلاً من أحرف التبويب، فإن هذا قد يُشكّل تحديًا. يمكن معالجة هذا عن طريق توجيه مخرجات الأوامر عبر أمر tr قبل استخدام cut.

tr -s ' '

أمر tr يُستخدم لتغيير الأحرف في ملف، ويقدم خيار -s (أو --squeeze) الذي يقوم بتقليص جميع المسافات البيضاء إلى حرف مسافة مفرد. يعد هذا الأمر فعالًا عند استخدامه مع cut لأنه يضمن تقسيم البيانات بطريقة أكثر اتساقًا.

تغيير الفاصل الزمني للإخراج

في بعض الأحيان، قد ترغب في تغيير الفاصل الزمني المستخدم في ملف الإدخال، وهنا يأتي دور الخيار --output-delimiter:

cut -f 1,5 -d ':' --output-delimiter=$'\t' /etc/passwd

في هذا المثال، تم تحديد التبويب كفاصل. نظرًا لعدم إمكانية إدخال حرف التبويب بسهولة، نستخدم $'\t' للمرور بحرف التبويب، حيث تُخبر هذه السلسلة باش بتفسير ما هو داخل الاقتباسات، و\t هو تسلسل الهروب القياسي لحرف التبويب.

ملخص حول استخدام Cut

هذه هي الأساسيات المتعلقة باستخدام أمر cut. هناك ميزات أخرى، لكن من غير المرجح أن يتم استخدامها بشكل يومي.

أسئلة شائعة

  1. ما هو استخدام أمر cut في لينكس؟
    يُستخدم أمر cut لاستخراج أجزاء معينة من النصوص أو الجداول.

  2. هل يمكنني تحديد الفاصل الزمني المستخدم في cut؟
    نعم، يمكنك استخدام الخيار -d لتحديد الفاصل الزمني المستخدم.

  3. هل يمكنني دمج خيارات cut؟
    نعم، يمكنك دمج خيارات الحقول المطلوبة مع الفاصل الزمني.

  4. كيف يمكنني تجنب مشاكل البيانات غير المتسقة عند استخدام cut؟
    عبر استخدام أمر tr قبل أمر cut لتقليص المسافات البيضاء إلى مسافة واحدة.

  5. هل أمر cut يدعم عدة ملفات؟
    نعم، يمكنك استخدام أمر cut مع عدة ملفات في نفس الوقت.

ياسمين معتز

هواياتي كتابة المقالات خبرة أكثر من 5 سنوات في مجال الكتابة والتسويق
زر الذهاب إلى الأعلى
Don`t copy text!