وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

Bash برای هر خط در یک فایل

0 5
زمان لازم برای مطالعه: 4 دقیقه


حلقه “For” در Bash را می توان با تغییرات مختلف برای انجام چندین کار استفاده کرد. یکی از این تغییرات “برای هر خط در فایل” است که مسئول خواندن تمام خطوط یک فایل است. در این مقاله در مورد روش های استفاده از “برای هر خط در فایل” در Bash صحبت خواهیم کرد.

توجه: روش های نشان داده شده در زیر نشان داده شده است روی اوبونتو 20.04. با این حال، آنها همچنین با هر توزیع لینوکس دیگر به خوبی کار خواهند کرد.

روش‌های استفاده از «برای هر خط در فایل» در Bash:

در این روش‌ها، نمونه‌ای را به شما نشان می‌دهیم که در آن می‌توانید هر خط را از یک فایل بخوانید و سپس می‌توانید آن را نمایش دهید. روی را terminal یا حتی می توانید این خطوط را در فایل دیگری ذخیره کنید. اجازه دهید نگاهی به هر دوی این روش ها بیندازیم.

روش شماره 1: برای نمایش خطوط خوانده شده روی پایانه:

برای نمایش خطوط یک فایل روی را terminal با استفاده از “برای هر خط در فایل”، باید مراحل زیر را انجام دهید:

مرحله 1: ایجاد یک فایل متنی ساختگی:

اول از همه، شما باید یک فایل متنی با داده های تصادفی برای نمایش ایجاد کنید. اگرچه، این فایل متنی را می توان در هر جایی ایجاد کرد، با این حال، به شدت توصیه می شود که آن را در پوشه Home ایجاد کنید. برای انجام آن، کلیک کنید روی نماد File Manager که در تصویر زیر مشخص شده است:

  • ایجاد یک فایل متنی ساختگی

    اکنون در هر نقطه از پوشه Home خود راست کلیک کرده و از منوی ظاهر شده گزینه New Document را انتخاب کنید. سپس گزینه Empty Document را انتخاب کنید. هنگامی که یک سند خالی در پوشه Home شما ایجاد شد، نام مورد نظر خود را برای آن و سپس پسوند txt. وارد کنید. در این مثال ما آن را ForEachLine.txt نام گذاری کرده ایم.

    پیشنهاد می‌کنیم بخوانید:  مسیر مطلق یک اسکریپت را در Bash دریافت کنید
  • ایجاد یک فایل متنی ساختگی 2ایجاد یک فایل متنی ساختگی 2

    دوبار کلیک کنید روی این فایل متنی را باز کنید و سپس هر متن تصادفی را مانند تصویر زیر در آن تایپ کنید. پس از انجام این کار، این فایل را ذخیره کرده و ببندید.

  • ایجاد یک فایل متنی ساختگی 3ایجاد یک فایل متنی ساختگی 3

    مرحله 2: ایجاد اسکریپت Bash:

    اکنون یک فایل Bash را به همان روشی که فایل متنی را در پوشه Home ایجاد کرده اید ایجاد کنید، با این تفاوت که این بار، باید نام آن را به جای پسوند txt پسوند .sh ارائه دهید. ما فایل Bash خود را ForEachLine.sh نامگذاری کرده‌ایم، اما شما می‌توانید هر نام دلخواه خود را به آن بدهید.
    ایجاد اسکریپت Bashایجاد اسکریپت Bash

    این فایل را با دوبار کلیک باز کنید روی آن را بنویسید و سپس اسکریپت نشان داده شده در تصویر زیر را در فایل Bash تازه ایجاد شده خود تایپ کنید. در اینجا، خط اول وجود دارد که نشان می دهد اسکریپت زیر یک اسکریپت Bash است. ما به سادگی یک متغیر به نام “File” ایجاد کرده ایم و نام فایل متنی خود را به عنوان مقدار آن، یعنی ForEachLine.txt به آن اختصاص داده ایم. سپس یک متغیر به نام “Lines” ایجاد کرده و آن را با “$(cat $File)” برابر کردیم. در اینجا دستور cat محتویات فایل متنی ما را می خواند و زمانی که قبل از آن علامت “$” قرار گیرد، محتوای خوانده شده توسط این دستور در متغیر Lines ذخیره می شود. به این ترتیب تمام خطوط فایل با نام ForEachLine.txt در متغیر Lines ذخیره می شود. سپس حلقه “For” را اعمال کرده ایم که دارای یک تکرار کننده “خط” است. این تکرار کننده کار می کند روی متغیر “Lines” که در بالا ایجاد کرده ایم و در تمام خطوط یک به یک تکرار می شود. سپس در بلوک «انجام شد»، به سادگی تمام این خطوط را نمایش داده ایم روی را terminal با استفاده از echo فرمان
    ایجاد Bash Script2ایجاد Bash Script2

    مرحله 3: اجرای اسکریپت Bash:

    حالا راه اندازی کنید terminal در اوبونتو 20.04 و سپس دستور زیر را در آن اجرا کنید تا اسکریپت Bash ایجاد شده در بالا را اجرا کنید:
    bash ForEachLine.sh
    اجرای اسکریپت Bashاجرای اسکریپت Bash

    پیشنهاد می‌کنیم بخوانید:  الگوی تطبیق در بیانیه مورد Bash

    زمانی که این دستور باعث می شود bash اسکریپت را اجرا کنید، سپس می توانید تمام خطوط فایل متنی خود را ببینید روی شما terminal همانطور که در تصویر زیر نشان داده شده است:
    اجرای اسکریپت Bashاجرای اسکریپت Bash

    روش شماره 2: برای ذخیره تمام خطوط خوانده شده در یک فایل دیگر:

    در این روش، ما اسکریپت Bash ایجاد شده در روش بالا را برای ذخیره تمام خطوط خوانده شده در یک فایل متنی جدید به جای نمایش آنها، کمی تغییر داده ایم. روی را terminal. برای انجام این کار مراحل ذکر شده در زیر را انجام دهید:

    مرحله 1: تغییر اسکریپت Bash ایجاد شده در بالا و اجرای آن:

    اسکریپت Bash را که در روش بالا ایجاد کرده اید باز کنید و آن را مطابق تصویر زیر تغییر دهید. ما به سادگی نماد ”>>” را اضافه کرده ایم و پس از آن یک نام فایل جدید اضافه کرده ایم echo دستور در بلوک “انجام شد”. این اصلاح تمام خطوط خوانده شده را به جای نمایش در یک فایل متنی جدید ذخیره می کند روی را terminal. اکنون اسکریپت Bash را دوباره از طریق terminal با bash دستور به دنبال نام فایل Bash. این بار که اسکریپت Bash اجرا می شود، یک فایل متنی جدید ایجاد می کند که نام آن در این مورد NewFile.txt است.
    اصلاح اسکریپت Bash ایجاد شده در بالا و اجرای آن 1اصلاح اسکریپت Bash ایجاد شده در بالا و اجرای آن 1

    مرحله شماره 2: دسترسی به فایل متنی ایجاد شده جدید:

    برای بررسی اینکه آیا تمام خطوط “خواندن” در فایل متنی جدید ذخیره شده اند، می توانید به سادگی محتویات آن فایل را با اجرای دستور زیر در فایل متنی خود مشاهده کنید. terminal:
    گربه NewFile.txt
    دسترسی به فایل متنی تازه ایجاد شدهدسترسی به فایل متنی تازه ایجاد شده

    خروجی نشان داده شده در تصویر زیر به شما اطمینان می دهد که تمام خطوط خوانده شده در فایل متنی جدید کپی شده است.
    دسترسی به فایل متنی تازه ایجاد شده 2دسترسی به فایل متنی تازه ایجاد شده 2

    نتیجه:

    به این ترتیب، می‌توانید از «برای هر خط در فایل» برای خواندن تمام خطوط یک فایل و سپس دستکاری آن با این خطوط استفاده کنید. ما به تازگی در مورد دو سناریو اساسی در این مقاله صحبت کرده ایم، با این حال، شما حتی می توانید از این حلقه برای مشکلات پیچیده تر استفاده کنید.

  • برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
    لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

    زمان انتشار: 1402-12-31 08:56:03

    امتیاز شما به این مطلب
    دیدگاه شما در خصوص مطلب چیست ؟

    آدرس ایمیل شما منتشر نخواهد شد.

    لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید