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

سرور مجازی NVMe

Bash: هنگام خواندن خط

0 3
زمان لازم برای مطالعه: < 1 دقیقه


وقتی کار میکنی روی bash اسکریپت، گاهی اوقات ممکن است لازم باشد یک فایل را خط به خط بخوانید. با یک مثال توضیح می دهیم. شما مقداری داده در یک فایل متنی دارید که باید با استفاده از یک اسکریپت اجرا یا پردازش شوند. بنابراین، در حال اجرا a bash اسکریپت به process یک فایل متنی بسیار متفاوت است. برای خواندن خط به خط یک فایل، باید یک نحو مشخص را دنبال کنید. این مقاله به شما کمک می کند تا با استفاده از حلقه while در Bash یک خط از یک فایل را بخوانید.

نحو اولیه خط while read

از دستور زیر استفاده می شود bash پوسته برای خواندن فایل با استفاده از حلقه while:

در حالی که خواندن -r خط
انجام دادن

echo خط $ ;
انجام شده < فایل ورودی

گزینه ‘-r’ در نحو ذکر شده در بالا به دستور خواندن منتقل می شود که از تفسیر بک اسلش جلوگیری می کند. گزینه “input_file” نام فایل شما را نشان می دهد که می خواهید با استفاده از دستور “خواندن” به آن دسترسی داشته باشید.

جداکننده میدان داخلی به اختصار IFS می توان قبل از تنظیم شدن دستور خواندن روی رشته تهی استفاده کرد که از بریده شدن فضای سفید پیشرو یا انتهایی جلوگیری می کند.

در حالی که IFS= خواندن -r خط
انجام دادن

echo خط $;
انجام شده < فایل ورودی

باز کن terminal استفاده کردن ‘Ctrl + Alt + t’ میانبر کنید و سپس دستورات زیر را اجرا کنید روی آی تی.

پیشنهاد می‌کنیم بخوانید:  شماره خط را در خروجی بگیرید

مثال شماره 1: خواندن فایل خط به خط

بیایید مثالی بزنیم که در آن فرض کنید فایلی به نام داریم “OS.txt” حاوی نام تمام توزیع های مهم لینوکس است. اگر می خواهید یک فایل را بدون استفاده از ‘گربه’ سپس برای این منظور می توانید دستور زیر را برای انجام وظیفه خاص اجرا کنید. ما از حلقه while استفاده خواهیم کرد که هر خط از فایل را می خواند “OS.txt” و محتوا را در هر مرحله در متغیر $line ذخیره می کند که می توانید بعداً نمایش دهید.

نام توزیع‌های لینوکس زیر را در آن جای‌گذاری کنید “OS.txt”

CentOS

اوبونتو
دبیان
لینوکس مینت

در حالی که خواندن خط
انجام دادن
echo خط $;
انجام شده < OS.txt

Bash: هنگام خواندن خط

از دستور بالا، پاسخ زیر را دریافت خواهید کرد روی را terminal پنجره:

مثال شماره 2: خواندن فایل با استفاده از bash اسکریپت

ایجاد یک bash برای خواندن محتوای فایل کد زیر را در این فایل اضافه کنید. می توانید فایل متنی قبلی را در یک متغیر جدید ذخیره کنید $filename و متغیر $n برای حفظ مقدار هر خط استفاده می شود. اکنون با استفاده از حلقه while هر خط را از یک فایل با شماره خط خاص می خوانیم.

#!/صندوقچه/bash
نام فایل=“OS.txt”
n=1
در حالی که خواندن خط
انجام دادن
# برای خواندن هر خط
echo خط توزیع سیستم عامل شماره $n : خط $
n=$((n+1))
انجام شده < $filename

فایل را با نام ذخیره کنید ‘OSinfo.sh’ و دستور زیر را تایپ کنید روی را terminal برای اجرای موارد بالا bash اسکریپت

$ bash OSinfo.sh

اکنون دستور cat را اجرا کنید تا محتوای فایل اصلی را مشاهده کنید.

$ گربه OS.txt

Bash: هنگام خواندن خطBash: هنگام خواندن خط

روش جایگزین برای خواندن فایل

استفاده از عبور نام فایل از یک دستور

در یک bash فایل، باید اسکریپت کد زیر را اضافه کنید. در این اسکریپت باید یک نام فایل را به عنوان آرگومان در نظر بگیریم. ابتدا مقدار یک آرگومان توسط a خوانده می شود 1 دلار متغیری که یک نام فایل برای خواندن دارد. بررسی می‌کند که نام فایل در مکان مشخص‌شده وجود داشته باشد، سپس با استفاده از حلقه while یک فایل را خط به خط شبیه به مثال قبلی می‌خواند.

#!/صندوقچه/bash
نام فایل=1 دلار
اگر [[ ! -f $filename ]] ; سپس

پیشنهاد می‌کنیم بخوانید:  روش تجزیه فایل جدا شده از تب با استفاده از awk

echo “خطا، باید نام فایل را به عنوان پارامتر خط فرمان وارد کنید”

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

# خواندن هر خط

echo خط $
انجام شده < $filename

اسکریپت بالا را با named ذخیره کنید “Readline.sh” و دستور زیر را اجرا کنید روی را terminal برای اجرای اسکریپت فوق:

$ bash Readline.sh OS.txt

می توانید ببینید که پارامتر به عنوان استفاده شده است $filename، و خط به خط را با علامت بخوانید هنگام خواندن خط نحو از پارامتر ارائه شده روی خط فرمان
Bash: هنگام خواندن خطBash: هنگام خواندن خط

نتیجه

در این مقاله روش خواندن خطوط با استفاده از حلقه while را مورد بحث قرار داده ایم bash برنامه نویسی. ما روش های مختلفی را با استفاده از bash اسکریپت یا می‌توانید به سادگی از یک فایل متنی برای خواندن خط به خط یک فایل استفاده کنید. اگر علاقه مند به یادگیری مثال های بیشتر هستید، می توانید با استفاده از نحو ذکر شده در بالا، آن را اجرا کنید روی سیستم شما نیز امیدوارم از این آموزش لذت برده باشید و برای شما بی نظیر باشد. در صورت بروز هرگونه خطایی اطلاع رسانی کنیم.

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

زمان انتشار: 1402-12-31 10:03:04

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

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

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