ذكري المظهر

لينكس قطع القيادة مع الأمثلة

Pipes, Grep, Sort Commands: Linux Tutorial 9

Pipes, Grep, Sort Commands: Linux Tutorial 9

جدول المحتويات:

Anonim

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

في هذا البرنامج التعليمي ، سوف نوضح لك كيفية استخدام أمر Linux cut من خلال أمثلة عملية وشروحات مفصلة لخيارات القطع الأكثر شيوعًا.

كيفية استخدام القيادة قطع

يكون بناء جملة الأمر cut كما يلي:

cut OPTION……

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

  • -f ( --fields=LIST ) - اختر عن طريق تحديد حقل أو مجموعة من الحقول أو مجموعة من الحقول. هذا هو الخيار الأكثر استخدامًا. -b (- --bytes=LIST ) - اختر عن طريق تحديد بايت أو مجموعة من البايتات أو نطاق البايتات. -c ( -c --characters=LIST ) - اختر عن طريق تحديد حرف أو مجموعة من الأحرف أو مجموعة من الأحرف.

الخيارات الأخرى هي:

  • -d ( -d --delimiter ) - حدد --delimiter سيتم استخدامه بدلاً من محدد "TAB" الافتراضي. - --complement - استكمال الاختيار. عند استخدام هذا الخيار ، سيتم عرض جميع وحدات البايت أو الأحرف أو الحقول باستثناء المحدد. -s ( -s --only-delimited ) - بشكل افتراضي ، سوف يطبع أي سطر لا يحتوي على حرف محدد. عند استخدام هذا الخيار ، لن تطبع الخطوط التي لا تحتوي على محددات. --output-delimiter - الافتراضي هو استخدام محدد المدخلات كمحدد الإخراج. يتيح لك هذا الخيار تحديد سلسلة محددات مخرجات مختلفة.

يمكن للأمر cut قبول أسماء الملفات FILE صفر أو أكثر. إذا لم يتم تحديد FILE ، أو عندما يكون FILE - ، فستقوم عملية القطع بقطع الإدخال القياسي.

يمكن أن تكون الوسيطة LIST التي تم تمريرها إلى خيارات -f و -b و -c عددًا صحيحًا أو عددًا صحيحًا متعددًا مفصولة بفواصل أو نطاق من عدد صحيح أو نطاقات عدد صحيح متعددة مفصولة بفواصل. يمكن أن يكون كل نطاق واحدًا مما يلي:

  • N حقل Nth ، بايت أو حرف ، يبدأ من 1. N- من حقل Nth ، بايت أو حرف ، إلى نهاية السطر. NM من Nth إلى حقل Mth أو بايت أو حرف. -M من الأول إلى الحقل Mth ، البايت أو الحرف.

كيفية قص طريق الميدان

يستخدم الأمر Cut في الغالب لعرض الحقول المحددة من كل سطر من الملفات أو الإدخال القياسي. عندما لا يتم تحديد المحدد الافتراضي هو "TAB".

في الأمثلة أدناه ، سوف نستخدم الملف التالي. جميع الحقول مفصولة بعلامات جدولة.

TEST.TXT

245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978

لعرض الحقل الأول والثالث الذي تستخدمه:

cut test.txt -f 1, 3

245:789 M:4540 535:763 M:3476

أو إذا كنت تريد عرضها من الحقل الأول إلى الرابع:

cut test.txt -f -4

245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales

كيفية خفض بناء على محدد

للقطع بناءً على محدد ، استخدم الخيار -d متبوعًا بالمحدد الذي تريد استخدامه.

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

cut test.txt -d ':' -f 1, 3

245:4540 Admin 01 535:3476 Sales 11

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

echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2

ipsum

كيف تكمل الاختيار

لاستكمال قائمة اختيار حقل استخدام - خيار --complement . سيؤدي هذا إلى طباعة فقط تلك الحقول التي لم يتم -f مع الخيار -f .

سيقوم الأمر التالي بطباعة جميع الحقول باستثناء الأول والثالث:

cut test.txt -f 1, 3 --complement

4567 Admin 01:10:1980 4987 Sales 11:04:1978

كيفية تحديد محدد الإخراج

لتحديد محدد الإخراج ، استخدم الخيار --output-delimiter . على سبيل المثال ، لتعيين محدد الإخراج إلى _ ستستخدم:

cut test.txt -f 1, 3 --output-delimiter='_'

245:789_M:4540 535:763_M:3476

كيفية خفض بايت والشخصيات

قبل الذهاب إلى أبعد من ذلك ، دعونا نفرق بين البايتات والأحرف.

بايت واحد هو 8 بت ويمكن أن يمثل 256 قيمة مختلفة. عندما أنشئ معيار ASCII ، أخذ في الاعتبار جميع الحروف والأرقام والرموز اللازمة للعمل مع اللغة الإنجليزية. يحتوي جدول أحرف ASCII على 128 حرفًا ويمثل كل حرف بايت واحد. عندما بدأت أجهزة الكمبيوتر تحظى بشعبية على مستوى العالم ، بدأت شركات التكنولوجيا في تقديم ترميزات شخصية جديدة للغات مختلفة ولغات بها أكثر من 256 حرفًا ، لم يكن من الممكن إجراء تخطيط بسيط من 1 إلى 1. هذا يؤدي إلى مشاكل مختلفة مثل مشاركة المستندات أو تصفح المواقع ، وهناك حاجة إلى معيار Unicode جديد يمكنه التعامل مع معظم أنظمة الكتابة في العالم. تم إنشاء UTF-8 لحل هذه المشكلات. في UTF-8 ، لا يتم تمثيل جميع الأحرف ببايت واحد. يمكن تمثيل الأحرف بـ 1 بايت إلى 4 بايت.

في الأمثلة التالية ، نستخدم حرف ü الذي يستغرق وحدتي بايت.

استخدم الخيار -b (- --bytes ) لقطع مقطع من السطر عن طريق تحديد موضع بايت.

اختر البايت الخامس:

echo 'drüberspringen' | cut -b 5

b

حدد البايت الخامس والتاسع والثالث عشر:

echo 'drüberspringen' | cut -b 5, 9, 13

bpg

حدد النطاق من البايت الأول إلى الخامس:

echo 'drüberspringen' | cut -b 1-5

drüb

في وقت كتابة هذا المقال ، لم يكن خيار الإصدار المجمّع في مجموعة جنو الأساسية خيارًا لتقليص الأحرف. عند استخدام الخيار -c يتصرف السلوك كما هو الحال عند استخدام الخيار -b .

قص أمثلة

عادةً ما يتم استخدام الأمر cut بالاقتران مع الأوامر الأخرى عبر الأنابيب. وفيما يلي بعض الأمثلة على ذلك.

الحصول على قائمة بجميع المستخدمين

يتم تمرير إخراج الأمر getent passwd إلى cut يطبع المقدمة الأولى باستخدام : كمحدد.

getent passwd | cut -d ':' -f1

عرض 10 أوامر الأكثر استخداما

في المثال التالي ، يتم استخدام القص لتجريد البايتات الثمانية الأولى من كل سطر من إخراج أمر history .

history | cut -c8- | sort | uniq -c | sort -rn | head

استنتاج

الآن يجب أن يكون لديك فهم جيد لكيفية استخدام الأمر Linux cut. على الرغم من أنه مفيد جدًا ، إلا أن الأمر cut لديه بعض القيود. لا يدعم تحديد أكثر من حرف كمحدد ولا يدعم العديد من الكسور العشرية.

قطع المحطة