از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shell
سرفصلهای مطلب
یکی از کارهایی که می توان با استفاده از اسکریپت bash shell انجام داد، خواندن داده ها از یک فایل متنی و پردازش آن است. در این مقاله، روش خواندن یک ستون خاص از داده ها از یک فایل متنی یا روش خواندن چندین ستون از یک فایل متنی در اسکریپت پوسته bash را بررسی خواهیم کرد.
روش خواندن داده های ستونی از یک فایل متنی در اسکریپت Bash Shell
خواندن ستونهای خاصی از دادهها از یک فایل متنی در یک اسکریپت پوسته bash در برنامههای مختلف مانند کارهای تکراری خودکار، توسعه نرمافزار، مدیریت متن و موارد دیگر مفید است، تنها کاری که باید انجام دهید این است که فقط ستون مربوطه را بخوانید. برای توضیح بیشتر در زیر نحو که می توانید برای خواندن هر ستونی از هر فایل متنی دنبال کنید:
در حالی که خواندن خط انجام دادن
# از awk برای استخراج فیلد سوم (نام) از هر خط استفاده کنید
<هر اسمی>=$(اکو خط $ | بیخیال “{print $
# نام را چاپ کنید
اکو $<هر اسمی>
انجام شده < <نام فایل>txt
1: اسکریپت با مشخص کردن مفسر پوسته برای استفاده با خط shebang شروع می شود #!/bin/bash.
2: حلقه while با استفاده از دستور read محتوای فایل متنی را خط به خط می خواند و برای هر خطی که خوانده می شود، بیخیال دستور برای استخراج فیلد (نام) از خط استفاده می شود. دستور awk از الگو استفاده می کند {چاپ $
3: در نهایت اسکریپت با استفاده از دستور echo و این مقدار متغیر name را چاپ می کند process برای هر خط در فایل تکرار می شود تا زمانی که دیگر خطی برای خواندن وجود نداشته باشد.
برای درک خواننده، من از نحو داده شده در بالا برای خواندن یک ستون از فایل متنی استفاده کرده ام و در زیر کد آن آمده است:
در حالی که خواندن خط انجام دادن
# از awk برای استخراج فیلد دوم از هر خط استفاده کنید
اطلاعات=$(اکو خط $ | بیخیال “{print $3}”)
# چاپ سن
اکو اطلاعات $
انجام شده < company_details.txt
در اینجا در کد، ستون سوم هر خط از فایل متنی به نام جزئیات شرکت را خوانده ام، از دستور awk برای استخراج فیلد سوم (نام) از خط استفاده می شود. دستور awk از الگوی {print $3} برای انتخاب فیلد سوم استفاده می کند، در اینجا خروجی کد مثال من است:
در زیر فایل متنی است که من برای اهداف نمایشی ایجاد کردم:
روش خواندن چندین ستون از یک فایل متنی در اسکریپت Bash Shell
اگر میخواهید بیش از یک ستون یا یک فایل بخوانید، فقط باید شماره ستون را اضافه کنید و بقیه یکسان است، بنابراین کد خواندن بیش از یک ستون از فایل متنی در اینجا آمده است:
# این خط مشخص می کند که اسکریپت باید توسط پوسته bash تفسیر شود.
# در هر خط از فایل حلقه بزنید
در حالی که خواندن خط انجام دادن
# از awk برای استخراج فیلد سوم (نام) از هر خط استفاده کنید
اطلاعات=$(اکو خط $ | بیخیال “{print $1, $2, $3}”)
# نام را چاپ کنید
اکو اطلاعات $
انجام شده < company_details.txt
در زیر خروجی کدی است که هر سه ستون فایل متنی را می خواند:
نتیجه
اسکریپت های bash یک ابزار همه کاره هستند که می توانند برای خودکارسازی وظایف مختلف به خصوص در مورد سیستم های مبتنی بر یونیکس استفاده شوند. با ترکیب حلقه while و سایر دستورات پوسته می توان به راحتی داده های ستون را از یک فایل متنی خواند و عملیات مختلفی را با داده ها انجام داد.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 07:11:03