از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
فایل CSV را در Bash بخوانید
سرفصلهای مطلب
پیش نیازها:
قبل از تمرین مثال این آموزش باید یک فایل CSV ایجاد کنید. یک فایل CSV به نام “customers.csv” با محتوای زیر ایجاد کنید تا خروجی اسکریپت مورد استفاده در این آموزش را بررسی کنید. در این فایل 3rd زمینه های 4هفتم خط و 6هفتم خط خالی هستند
101، جعفر اقبال، جعفر@gmail.com، 9/داکا دانموندی، +8801762341425
102، کمال حسین، کمال@gmail.com، 120 میرپور داکا، +8801988675345
103نیروب چاودری،،33/2 جیگاتولا داکا، +8801754532312
104فرهین حسن , فرحین@gmail.com<آ href=“جای خالی”>،آ> 10 کادالباگون داکا، +8801512875634
105، دکتر رحیم ، 2/B Dhanmondi داکا، +8801700453423
روش های مختلف برای خواندن فایل CSV در Bash
فایل CSV را می توان به روش های مختلف با استفاده از اسکریپت Bash تجزیه کرد. روش های مختلف برای خواندن فایل “customers.csv” در این قسمت از آموزش نشان داده شده است.
مثال 1: محتوای اصلی فایل CSV را بخوانید
یک فایل Bash با اسکریپت زیر ایجاد کنید که محتوای کامل فایل “customers.csv” را با استفاده از حلقه “while” بخواند:
#نام فایل را تنظیم کنید
نام فایل=“customers.csv”
#هر خط از فایل را در هر تکرار بخوانید
در حالی که خواندن داده ها
انجام دادن
#خط را چاپ کنید
اکو داده $
انجام شده < $filename
پس از اجرای اسکریپت خروجی زیر ظاهر می شود:
مثال 2: فایل CSV را با حروف بزرگ کردن هدر بخوانید
خط اول فایل “customers.csv” حاوی عنوان فایل است. یک فایل Bash با اسکریپت زیر ایجاد کنید که محتوای فایل “customers.csv” را پس از بزرگ کردن خط اول فایل چاپ می کند. دستور “awk” در اسکریپت برای چاپ محتوای فایل پس از بزرگ کردن هدر استفاده می شود. کاما(،) در مقادیر FS و OFS در اسکریپت برای خواندن فایل “customers.csv” و نوشتن فایل “updatedcustomers.csv” اختصاص داده می شود. دستور “cat” برای چاپ محتوای هر دو فایل استفاده می شود.
#محتوای اصلی فایل CSV را چاپ کنید
گربه cstomers.csv
#پس از بزرگ کردن هدر یک فایل CSV جدید ایجاد کنید
بیخیال ‘BEGIN{FS=”,”;OFS=”,”}
{
اگر (NR==1)
تاپر چاپ (0$)
دیگر
چاپ
}’ customers.csv > updatedcustomers.csv
printf “\nفایل اصلاح شده:\n“
#پرینت فایل CSV جدید
گربه updatedcustomers.csv
پس از اجرای اسکریپت خروجی زیر ظاهر می شود:
مثال 3: فیلد خالی فایل CSV را با “هیچ” جایگزین کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که محتوای فایل “customers.csv” را پس از تغییر فیلد خالی با مقدار “None” چاپ می کند. دو فیلد در این فایل خالی است که در ادامه به آنها اشاره شده است. دستور awk در اسکریپت برای چاپ محتوای فایل پس از اصلاح فیلدهای خالی استفاده می شود. کاما(،) در مقادیر FS و OFS در اسکریپت برای خواندن فایل “customers.csv” و نوشتن فایل “updatedcustomers.csv” اختصاص داده می شود. دستور “cat” برای چاپ محتوای هر دو فایل در قالب جدول استفاده می شود.
#محتوای اصلی فایل CSV را به صورت جدولی چاپ کنید
گربه customers.csv | ستون ها، -t
بیخیال ‘BEGIN{FS=”,”;OFS=”,”}
{
for(field=1;field<=NF;field++) { if($field == “”) $field=”هیچکدام” } چاپ }’ customers.csv > modifiedcustomers2.csv
printf “\nفایل اصلاح شده:\n“
#فایل CSV جدید را به صورت جدولی چاپ کنید
گربه modifiedcustomers2.csv | ستون ها، -t
پس از اجرای اسکریپت خروجی زیر ظاهر می شود:
مثال 4: تعداد کل ردیف ها و ستون های فایل CSV را چاپ کنید
یک فایل Bash با اسکریپت زیر ایجاد کنید که تعداد کل ردیف ها و ستون ها را در فایل “customers.csv” می شمارد. متغیر NR برای چاپ تعداد کل ردیف های فایل استفاده می شود. متغیر NF برای چاپ تعداد کل فیلدهای فایل استفاده می شود.
#محتوای اصلی فایل CSV را چاپ کنید
گربه customers.csv
اکو
اکو -n “مجموع ردیف ها:”
بیخیال -اف، “END{print NR}” customers.csv
اکو -n “کل ستون ها:”
بیخیال -اف، “END{print NF}” customers.csv
خروجی زیر پس از اجرای اسکریپت ظاهر می شود. مجموع خطوط فایل 6 و کل فیلدهای فایل 5 می باشد که در خروجی چاپ می شود:
نتیجه
روش های خواندن فایل CSV، اصلاح فایل CSV و شمارش ردیف ها و ستون های فایل CSV با استفاده از اسکریپت Bash در این آموزش نشان داده شده است.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-28 17:36:04