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

سرور مجازی NVMe

روش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shell

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


یکی از کارهایی که می توان با استفاده از اسکریپت bash shell انجام داد، خواندن داده ها از یک فایل متنی و پردازش آن است. در این مقاله، روش خواندن یک ستون خاص از داده ها از یک فایل متنی یا روش خواندن چندین ستون از یک فایل متنی در اسکریپت پوسته bash را بررسی خواهیم کرد.

روش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shell

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

#!/bin/bash
در حالی که خواندن خط انجام دادن

# از awk برای استخراج فیلد سوم (نام) از هر خط استفاده کنید

<هر اسمی>=$(اکو خط $ | بیخیال “{print $}”)

# نام را چاپ کنید

اکو $<هر اسمی>
انجام شده < <نام فایل>txt

1: اسکریپت با مشخص کردن مفسر پوسته برای استفاده با خط shebang شروع می شود #!/bin/bash.

2: حلقه while با استفاده از دستور read محتوای فایل متنی را خط به خط می خواند و برای هر خطی که خوانده می شود، بیخیال دستور برای استخراج فیلد (نام) از خط استفاده می شود. دستور awk از الگو استفاده می کند {چاپ $} برای انتخاب فیلد، که سپس در نام متغیر ذخیره می شود.

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

3: در نهایت اسکریپت با استفاده از دستور echo و این مقدار متغیر name را چاپ می کند process برای هر خط در فایل تکرار می شود تا زمانی که دیگر خطی برای خواندن وجود نداشته باشد.

برای درک خواننده، من از نحو داده شده در بالا برای خواندن یک ستون از فایل متنی استفاده کرده ام و در زیر کد آن آمده است:

#!/bin/bash
در حالی که خواندن خط انجام دادن

# از awk برای استخراج فیلد دوم از هر خط استفاده کنید

اطلاعات=$(اکو خط $ | بیخیال “{print $3}”)

# چاپ سن

اکو اطلاعات $
انجام شده < company_details.txt

در اینجا در کد، ستون سوم هر خط از فایل متنی به نام جزئیات شرکت را خوانده ام، از دستور awk برای استخراج فیلد سوم (نام) از خط استفاده می شود. دستور awk از الگوی {print $3} برای انتخاب فیلد سوم استفاده می کند، در اینجا خروجی کد مثال من است:

روش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shell

در زیر فایل متنی است که من برای اهداف نمایشی ایجاد کردم:

روش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shellروش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shell

روش خواندن چندین ستون از یک فایل متنی در اسکریپت Bash Shell

اگر می‌خواهید بیش از یک ستون یا یک فایل بخوانید، فقط باید شماره ستون را اضافه کنید و بقیه یکسان است، بنابراین کد خواندن بیش از یک ستون از فایل متنی در اینجا آمده است:

#!/bin/bash

# این خط مشخص می کند که اسکریپت باید توسط پوسته bash تفسیر شود.

# در هر خط از فایل حلقه بزنید
در حالی که خواندن خط انجام دادن

# از awk برای استخراج فیلد سوم (نام) از هر خط استفاده کنید

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

اطلاعات=$(اکو خط $ | بیخیال “{print $1, $2, $3}”)

# نام را چاپ کنید

اکو اطلاعات $
انجام شده < company_details.txt

در زیر خروجی کدی است که هر سه ستون فایل متنی را می خواند:

روش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shellروش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shell

نتیجه

اسکریپت های bash یک ابزار همه کاره هستند که می توانند برای خودکارسازی وظایف مختلف به خصوص در مورد سیستم های مبتنی بر یونیکس استفاده شوند. با ترکیب حلقه while و سایر دستورات پوسته می توان به راحتی داده های ستون را از یک فایل متنی خواند و عملیات مختلفی را با داده ها انجام داد.

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

زمان انتشار: 1402-12-29 07:11:03

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

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

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