كيفية تخطي السطر الأول من الملف باستخدام 'awk'

How Skip First Line File Using Awk



هناك استخدامات مختلفة للأمر `awk` في Linux. على سبيل المثال ، يمكن استخدامه لطباعة محتوى ملف نصي. يحتوي السطر الأول من العديد من الملفات النصية على عنوان الملف ، وفي بعض الأحيان ، يجب تخطي السطر الأول عند طباعة محتوى الملف. في هذا البرنامج التعليمي ، سنوضح لك كيفية إنجاز هذه المهمة باستخدام الأمر `awk`.

قم بإنشاء ملف نصي

لمتابعة هذا البرنامج التعليمي ، قم بإنشاء ملف نصي محدد بعلامات جدولة باسم booklist.txt بالمحتوى التالي. يحتوي هذا الملف على قائمة بالكتب مع المؤلفين المطابقين لها. في هذا البرنامج التعليمي ، سنوضح لك كيفية طباعة أجزاء مختلفة من هذا الملف بعد تخطي السطر الأول.







الأمن السيبراني مع باش بول ترونكون ، كارل ألبينج

سطر الأوامر Kung Fu Jason Cannon

سطر أوامر Linux Travis Booth

باش في خطوات سهلة مايك ماكغراث

يونكس في خطوات سهلة مايك ماكغراث

مثال 1: تخطي السطر الأول من الملف باستخدام NR وعامل التشغيل '>'

يشير المتغير NR إلى عدد السجلات في ملف. يستخدم الأمر `awk` التالي متغير NR لتخطي السطر الأول من الملف. قيمة NR هي 1 للسطر الأول. سيقوم الأمر التالي بطباعة الأسطر التي تكون قيمة NR لها أكبر من 1.



$قطbooklist.txt

$awk '(لا> 1)'booklist.txt

سيتم إنتاج الإخراج التالي بعد تشغيل الأوامر أعلاه. يتضمن الإخراج كل الأسطر بخلاف السطر الأول من الملف.







مثال 2: تخطي السطر الأول باستخدام NR وعامل التشغيل '! ='

الأمر 'awk' التالي مشابه لذلك الموجود في المثال السابق. ومع ذلك ، يتم استخدام عامل المقارنة '! =' هنا بدلاً من '>'.

$قطbooklist.txt

$awk 'NR! = 1'booklist.txt

سيتم إنتاج الإخراج التالي بعد تشغيل الأوامر أعلاه. يعرض الإخراج جميع الأسطر بخلاف السطر الأول من الملف.



مثال 3: تخطي السطر الأول من الملف باستخدام تعليمة شرطية

سيطبع الأمر `awk` التالي أسطر الملف إذا كانت عبارة if صحيحة. هنا ، ستكون عبارة if صحيحة فقط عندما لا تساوي قيمة NR 1.

$قطbooklist.txt

$awk '{if (NR! = 1) {print}}'booklist.txt

سيتم إنتاج الإخراج التالي بعد تشغيل الأوامر أعلاه. يتضمن الإخراج جميع الأسطر باستثناء السطر الأول من الملف.

مثال 4: اطبع أسماء الكتاب من الملف ولكن تخطي السطر الأول

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

$قطbooklist.txt

$awk -F ' t' '{print $ 1}'booklist.txt| awk 'NR! = 1 طباعة}'

سيتم إنتاج الإخراج التالي بعد تشغيل الأوامر أعلاه. يُظهر الإخراج جميع أسماء الكتاب باستثناء اسم الكتاب الأول.

مثال 5: قم بتنسيق محتوى الملف بعد تخطي السطر الأول

يتم استخدام الخيار '-F' ومتغير NR ووظيفة printf في الأمر 'awk' التالي لإنشاء إخراج منسق بعد تخطي السطر الأول. سيقوم الأمر بتقسيم محتوى الملف إلى أعمدة بناءً على t ، وستقوم printf بطباعة العمودين الأول والثاني عندما تكون قيمة NR 2 على الأقل.

$قطbooklist.txt

$awk -F ' t' 'NR> = 2 {printf'٪ 30s٪ 20s n '، $ 1، $ 2}'booklist.txt

سيتم إنتاج الإخراج التالي بعد تشغيل الأوامر أعلاه. يعرض الإخراج المحتوى المنسق للملف ، باستثناء السطر الأول من الملف.

مثال 6: اطبع أسماء الكتب بعد تخطي السطر الأول باستخدام NR و NF

يستخدم الأمر 'awk' التالي الخيار '-F' و NR و NF لطباعة أسماء الكتب بعد تخطي الكتاب الأول. يستخدم الخيار '-F' لفصل محتوى قاعدة الملف على t. يستخدم NR لتخطي السطر الأول ، ويستخدم NF لطباعة العمود الأول فقط.

$قطbooklist.txt

$awk -F ' t' 'NR> 1 && NF = 1'booklist.txt

سيتم إنتاج الإخراج التالي بعد تشغيل الأوامر أعلاه. يتضمن الإخراج جميع أسماء الكتاب في الملف باستثناء اسم الكتاب الأول.

مثال 7: اطبع أسماء المؤلف المنسقة بعد تخطي السطر الأول

يستخدم الأمر 'awk' التالي الخيار '-F' وبيان شرطي لطباعة أسماء المؤلفين بعد تخطي السطر الأول. هنا ، يتم استخدام قيمة NR في شرط if. هنا ، اسم المؤلف: n n ستتم طباعته كسطر أول بدلاً من محتوى السطر الأول. ستتم طباعة أسماء المؤلفين من الملف لقيم NR الأخرى.

$قطbooklist.txt

$awk -F ' t' '{if (NR == 1) printf' n اسم المؤلف: n n '؛ آخر printf '٪ s n'، $ 2} 'booklist.txt

سيتم إنتاج الإخراج التالي بعد تشغيل الأوامر أعلاه. يعرض الإخراج النص ، اسم المؤلف: مع سطر جديد ، وتتم طباعة جميع أسماء المؤلفين باستثناء الاسم الأول.

استنتاج

يمكن تخطي السطر الأول من الملف باستخدام أوامر Linux المختلفة. كما هو موضح في هذا البرنامج التعليمي ، هناك طرق مختلفة لتخطي السطر الأول من الملف باستخدام الأمر `awk`. بشكل ملحوظ ، يمكن استخدام متغير NR للأمر `awk` لتخطي السطر الأول من أي ملف.