دليل استخدام أوامر 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 لاستبدال مسافات متعددة بمساحة واحدة ، ثم يستخدم قطع لاستخراج أول حقلين مفصولة بالفضاء:

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

دعنا نستخدم أمر SED مع أمر CUT لاستبدال جميع المساحات بفاصلة ثم استخراج الحقول المبللة بالفاصلة الأولى والثالثة:
sed 's/ /,/g' mteData1.txt | cut -d ',' -f1,3

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