دليل استخدام أوامر Linux Cut


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

فهم أمر القطع

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

بناء الجملة الأساسي لأمر قطع

يحتوي الأمر على بناء جملة بسيط للغاية يستخدم الخيارات واسم ملف. إليك كيف تعمل:

cut [OPTIONS] [FILE]

هنا ، تتيح لك الخيارات التحكم في كيفية عمل أمر CUT. يمكنك اختيار فاصل حقل (مثل فاصلة) ، واختيار بعض الحقول ، وضبط نطاقات الحقل ، وتجاهل الخطوط بدون فاصل ، وما إلى ذلك ، الملف الهدف الذي تريد استخراج البيانات منه. سيتم قراءة الأمر CUT من الإدخال القياسي إذا لم تحدد ملفًا. علاوة على ذلك ، يمكنك تحديد ملفات متعددة ؛ في هذه الحالة ، سوف يعاملهم الأمر CUT كواحد من خلال الجمع بين محتوياتهم قبل المعالجة.

خيارات شائعة الاستخدام

يتيح لك الأمر CUT استخراج أجزاء معينة من النص من ملف أو إدخال. يمكنك إخباره بما يجب استخلاصه باستخدام خيارات مختلفة ، مثل البواغ أو الأحرف أو الحقول ، ومن خلال تعيين فاصل معين (محدد). فيما يلي الخيارات الشائعة:

  • -f أو – الحقول = قائمة: يختار حقول محددة بناءً على محدد مختار.
  • أو – bytes = قائمة: يستخلص بعض البايتات من كل سطر.
  • -C أو –characters = قائمة: يسحب أحرفًا محددة من كل سطر.
  • -D أو – المناخ: يعين تحديد مخصص بدلاً من علامة التبويب الافتراضي.
  • -إطراء: يظهر كل شيء باستثناء الحقول المحددة أو البايتات أو الشخصيات.
  • -S أو -محدد فقط: تتخطى الخطوط التي لا تملك المحدد. بشكل افتراضي ، يتم تضمين هذه الخطوط.
  • -الإخراج-ديلايتر: يتيح لك اختيار محدد مختلف للإخراج. بشكل افتراضي ، يستخدم Cut نفس المحدد مثل الإدخال.

ال -fو -b، و -c تستخدم الخيارات قائمة لتحديد ما يجب استخلاصه ، مثل الحقول أو البايتات أو الأحرف. يمكنك تحديد ما يلي:

  • رقم واحد مثل 2
  • أرقام متعددة مفصولة بفواصل ، مثل 1،3،5
  • مجموعة مثل 2-4 (بمعنى المستخلص من 2 إلى 4)
  • N- يعني من الموضع ن إلى النهاية
  • -M يعني من البداية إلى وضع م

كيف يعمل الأمر CUT في Linux

دعنا نمر ببعض الأمثلة العملية لفهم كيفية عمل أمر CUT في Linux. لهذا الغرض ، أولاً ، قم بإنشاء ملف يسمى “mte.csv” باستخدام أمر Echo:

echo -e "empID,empName,empDesig\n101,Anees,Author\n102,Asghar,Manager\n103,Damian,CEO" > mte.csv

دعنا نتحقق من محتوى الملف باستخدام أمر CAT:

cat mte.csv
إظهار بيانات الملف

هنا ، من المهم أن نلاحظ أن الأمر CUT لا يغير الملف ، بدلاً من ذلك ، يعرض فقط الإخراج المحدد بناءً على ما تطلبه.

استخراج البيانات حسب الأحرف

استخدم -c الخيار جنبا إلى جنب مع الأمر CUT لاستخراج الأحرف حسب الموضع:

cut -c 1,8 mte.csv

يستخرج هذا الأمر الشخصيات الأولى والثامنة من كل صف:

قطع من الشخصيات

لاستخراج الأحرف بين مواضع أو نطاقات محددة ، يمكننا استخدام الأمر المقطوع على النحو التالي:

cut -c 1-8 mte.csv

يستخرج هذا الأمر الأحرف الثامنة (بين 1 و 8) من كل صف:

قطع حسب المدى

استخراج بايت

يمكننا استخدام -b الخيار مع الأمر CUT لاستخراج بايت محددة من كل سطر:

cut -b 1-3 mte.csv

يستخرج هذا الأمر البايت الثلاثة الأولى من كل سطر من الملف المسمى mte.csv:

قطع من قبل البايت

الاستخراج حسب الحقل (العمود)

يمكنك استخراج حقل كامل من ملف باستخدام الأمر CUT. للقيام بذلك ، استخدم -f مع -d الخيار ، على النحو التالي:

cut -d',' -f2 mte.csv

في هذا الأمر ، -d',' يضع المحدد على فاصلة ، و -f2 يخبر Cut لاستخراج الحقل الثاني من كل سطر في mte.csv ملف:

قطع عن طريق الحقل

باستخدام محددات مخصصة في القطع

يستخدم الأمر CUT علامة تبويب كحدد ، افتراضيًا. ومع ذلك ، إذا تم فصل حقولك بشيء آخر غير علامة التبويب ، فاستخدمها -d لتعيين واحد الحق. على سبيل المثال ، يمكننا الحصول على الكلمة الخامسة من جملة منفصلة عن الفضاء باستخدام -d المحدد على النحو التالي:

echo "Hey! Geeks Welcome to Maketecheasier.com" | cut -d ' ' -f 5
قطع مع محدد مخصص

تخطي بعض الحقول أثناء الاستخراج

يمكنك استبعاد حقول محددة أثناء استخراج النص من ملف باستخدام --complement الخيار مع الأمر CUT. يرشد هذا الخيار الأمر إلى إخراج جميع الحقول باستثناء الحقول المحددة:

cut -d',' -f1 mte.csv --complement

سيتخطى هذا الأمر العمود الأول وإرجاع بقية المحتوى:

قطع مع تكملة

تغيير المحدد الافتراضي في الإخراج

بشكل افتراضي ، يحافظ الأمر على تحديد الإدخال في الإخراج عند استخراج الحقول. ومع ذلك ، يمكنك تغيير محدد الإخراج باستخدام --output-delimiter الخيار عند العمل مع الاستخراج القائم على الميدان:

cut -d',' -f1-3 --output-delimiter='-' mte.csv

يستخدم هذا الأمر الواصلة - كفاصل في الإخراج:

محدد الإخراج المخصص

باستخدام قطع مع أوامر Linux مفيدة أخرى

يمكنك أيضًا استخدام Cut مع أوامر Linux الأخرى باستخدام رمز خط الأنابيب. على سبيل المثال ، يستخرج الأمر التالي أول 5 أحرف من كل سطر من سطر who إخراج الأمر:

who | cut -c 1-5
قطع مع من

في المثال التالي ، نستخدم الأمر CUT مع HEAD لعرض الخطين الأولين من ملف “mte.csv” ونستخرج فقط حقول Empname و Empdesig:

head -n 2 mte.csv | cut -d ',' -f2,3
قطع مع الرأس

إدارة تنسيقات البيانات غير النظامية مع أمر Linux Cut

يعمل الأمر بشكل أفضل عندما يتم تنظيم البيانات بدقة ، مع نفس المحدد (مثل فاصلة أو علامة تبويب) يفصل كل جزء. ولكن إذا كان الملف يحتوي على مساحات غير متساوية أو محددات مختلطة ، فقد لا تعمل Cut بشكل جيد من تلقاء نفسها. في مثل هذه الحالات ، من المفيد أولاً تنظيف البيانات باستخدام أوامر مثل tr أو SED للتأكد من أن القطع يمكن أن يستخرج الأجزاء الصحيحة.

التعامل مع المساحات الإضافية

النظر في ملف يسمى “mtedata.txt” حيث يتم فصل الحقول بمساحات متعددة ، كما هو موضح أدناه:

cat mteData.txt
إظهار بيانات العينة

نظرًا لأن Cut تتوقع محددًا واحدًا ثابتًا ، يمكننا تبسيط التباعد باستخدام tr قبل تطبيق القطع:

cat mteData.txt | tr -s ' ' | cut -d ' ' -f1-2

يقرأ هذا الأمر محتوى “mtedata.txt” ، ويستخدم TR لاستبدال مسافات متعددة بمساحة واحدة ، ثم يستخدم قطع لاستخراج أول حقلين مفصولة بالفضاء:

قطع مع tr

التعامل مع المحددات المختلطة

إذا كان الملف يستخدم مزيجًا من المساحات والفواصل كحدد ، فيمكننا تطبيع التنسيق باستخدام sed. على سبيل المثال ، يحتوي ملف يسمى “mtedata1.txt” على المحتوى التالي:

cat mteData1.txt
إظهار عينة محتوى

دعنا نستخدم أمر SED مع أمر CUT لاستبدال جميع المساحات بفاصلة ثم استخراج الحقول المبللة بالفاصلة الأولى والثالثة:

sed 's/ /,/g' mteData1.txt | cut -d ',' -f1,3
قطع مع sed

اختتام

في هذه المقالة ، قمنا باستكشاف أمر Linux Cut ، وهو أمر مفيد في Linux لاستخراج البيانات من الملفات أو إدخال الأنابيب. من خلال بناء الجملة البسيط ، يمكنك بسهولة الحصول على أحرف أو بايت أو حقول بناءً على محدد. لقد أوضحنا أيضًا كيفية استخدام أمر CUT مع أوامر أخرى مثل TR و SED و HAGE لإدارة بيانات الفوضى وتبسيط الإخراج. سواء كنت تعمل مع ملفات CSV أو تحليل السجلات أو تنظيف البيانات ، فإن الأمر CUT هو أداة لا بد منها لمعالجة النص على أنظمة تشبه UNIX.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى